Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-25 Thread Sherwood McGowan
On Thu, Dec 23, 2010 at 1:39 PM, Tilghman Lesher  wrote:
> On Thursday 23 December 2010 09:16:26 Bryant Zimmerman wrote:
>> In the voip-info posting
>
> Right here is why you fail.  Voip-info is very often wrong.  Refer to the
> documentation that comes with Asterisk for definitive information.  In
> this case, the "h" extension should be in the calling context, not within
> the Macro itself.
>
> --
> Tilghman
>
> --
> _
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>               http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>

+1 for the informative answer

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-23 Thread Tilghman Lesher
On Thursday 23 December 2010 09:16:26 Bryant Zimmerman wrote:
> In the voip-info posting

Right here is why you fail.  Voip-info is very often wrong.  Refer to the
documentation that comes with Asterisk for definitive information.  In
this case, the "h" extension should be in the calling context, not within
the Macro itself.

-- 
Tilghman

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-23 Thread Bryant Zimmerman
Tilghman

This does not make any sense. In the voip-info posting for the "h" 
extension it specifically states that to handle "h" while in a macro that 
the macro needs an "h" extension.  The "h" extension runs inside the macro 
but the CDR data is not being updated correctly. Also the rc-ANSWER entry 
in the macro does not update the CDR with the ${HANGUPCAUSE} either after 
the far end hangs up. This is diffently inconsistent behavior here.  Both 
the DIAL and "h" extension are inside the macro so the behaivior should be 
consistent.  If I am understanding you correctly the only way we can get a 
CDR to update after a dial is to not do any DIAL calls in a MACRO is this 
what you are saying? Otherwise your logic may be flawed or we have a very 
big logic bug in the Asterisk Macro system.

From: http://www.voip-info.org/wiki/view/Asterisk+h+extension
Be aware: Macros require their own h extension as they do not make use 
of the calling context's h extension! 

Tilghamn thanks for the feed back the back and forth here is great and 
helps a lot it is giving me more ideas to test against. 

Bryant


 From: "Tilghman Lesher" 
Sent: Thursday, December 23, 2010 12:30 AM
To: "Asterisk Users Mailing List - Non-Commercial Discussion" 

Subject: Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

On Wednesday 22 December 2010 21:08:56 Bryant Zimmerman wrote:
> My "h" extension is in the same context as my Dial commands. Here is a
> cut back version of the code.
> The cause_code value is never stored in the mysql databae even when set
> in the "h" extension or the
> when set in "rc-ANSWER' OR "doDialStd"
> 
> [macro-OBD-DoOutboundDial]
> exten => h,1,NoOp(Cause Code = ${HANGUPCAUSE})
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> exten => h,n,Goto(rc-${DIALSTATUS},1)

There's the problem. The "h" extension should be in whatever context is
calling the Macro, not in the Macro context itself.

-- 
Tilghman

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users


--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Tilghman Lesher
On Wednesday 22 December 2010 21:08:56 Bryant Zimmerman wrote:
> My "h" extension is in the same context as my Dial commands. Here is a
> cut back version of the code.
> The cause_code value is never stored in the mysql databae even when set
> in the "h" extension or the
> when set in "rc-ANSWER' OR "doDialStd"
> 
> [macro-OBD-DoOutboundDial]
> exten => h,1,NoOp(Cause Code = ${HANGUPCAUSE})
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> exten => h,n,Goto(rc-${DIALSTATUS},1)

There's the problem.  The "h" extension should be in whatever context is
calling the Macro, not in the Macro context itself.

-- 
Tilghman

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Bryant Zimmerman
No this is just a snip of the much larger code.
The "h" extension is runing but no values port dial function aer being written. 
If I do a Set(CDR(field)=Value) before the dial
The value is stored.  See my other response for a larger snip of code.

Bryant


 From: "Carlos Chavez" 
Sent: Wednesday, December 22, 2010 2:46 PM
To: asterisk-users@lists.digium.com
Subject: Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

On Wed, 2010-12-22 at 12:42 -0500, Bryant Zimmerman wrote:
> Ok I can't get my CDR values to set from the h extension in either
> 1.6.2 or 1.8 What is wrong? Here is what I found in the cdr.conf
>
>
>
> ; Normally, CDR's are not closed out until after all extensions are
> finished
> ; executing. By enabling this option, the CDR will be ended before
> executing
> ; the "h" extension so that CDR values such as "end" and "billsec" may
> be
> ; retrieved inside of of this extension. The default value is "no".
> endbeforehexten=no
>
> The default is set to no so why can't I store any CDR values in my h
> extension.
>
> exp..
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> I need the cause code stored.
>
> Really what I need to be able to do is in the h quickly store some
> values to the CDR then.
> For the write of the CDR and stopping the billing seconds. Then
> continue to process some cleanup funcitons.
>
> How can I work arround asterisk not honoring the endbeforehexten=no.
> Is there some other way to achieve this?
>
> Bryant
>
> I need the cause code stored.Really what I need to be able to do is in
> the h quickly store some values to the CDR then.For the write of the
> CDR and stopping the billing seconds. Then continue to process some
> cleanup funcitons.How can I work arround asterisk not honoring the
> endbeforehexten=no.Is there some other way to achieve this?Bryant

Is the CDR line your only h line? I ask because if you only have one
priority for h then you MUST have:

exten => h,1,Set(CDR(cause_code)=${HANGUPCAUSE})

This is because the dialplan will not use n for the first priority and
thus will never run.

--
Telecomunicaciones Abiertas de México S.A. de C.V.
Carlos Chávez Prats
Director de Tecnología
+52-55-91169161 ext 2001

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users


--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Bryant Zimmerman
My "h" extension is in the same context as my Dial commands. Here is a cut 
back version of the code.
The cause_code value is never stored in the mysql databae even when set in 
the "h" extension or the
when set in "rc-ANSWER' OR "doDialStd" 

[macro-OBD-DoOutboundDial]
exten => s,1,Macro(${ARG1})
exten => s,n,Set(CALLERID(name)=${siteDefaultCIDName})
exten => s,n,Set(CALLERID(number)=${siteDefaultCIDNumber})
exten => s,n,SipAddHeader(X-interNetGR-linetype:${gbl_ibclinetype})
exten => s,n,SipAddHeader(X-interNetGR-actlineid:${gbl_actlineid})
exten => s,n,Set(GROUP()=${siteGrpLineCount})
exten => s,n,Set(c_DialArg=${ARG2})
exten => s,n,Set(c_DialExten=${MACRO_EXTEN})
exten => s,n,GoSub(DoLineCountCheck,1)
exten => s,n,GotoIf($[${siteOverLineCount}=1]?OverLineCount,1)
exten => s,n,GosubIf($["${c_DialExten}"="${siteDirSer}"]?OverLineCount,1)
exten => s,n,GosubIf($["${c_DialExten}"="411"]?nofeature,1)
exten => s,n,GosubIf($["${siteUseE164}"="1"]?doDialE164,1:doDialStd,1)
exten => s,n,Goto(rc-${DIALSTATUS},1) 
exten => s,n,Busy(60)
exten => s,n,Hangup()

exten => h,1,NoOp(Cause Code = ${HANGUPCAUSE})
exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
exten => h,n,Goto(rc-${DIALSTATUS},1)

exten => doDialStd,1,NoOp(Calling Using No E164)
exten => 
doDialStd,n,Macro(OBD-CheckOutboundNumber,${c_DialArg}${c_DialExten})
exten => 
doDialStd,n,Dial(${siteDefaultOutboundTrunk}/${c_DialArg}${c_DialExten},120,
ge${siteDialOptionsPublic})
exten => doDialStd,n,Set(CDR(cause_code)=${HANGUPCAUSE})
exten => doDialStd,n,Return

exten => rc-ANSWER,1,NoOp(Do Return ANSWER)
exten => rc-ANSWER,n,Set(CDR(cause_code)=${HANGUPCAUSE})
exten => rc-ANSWER,n,Hangup() 

exten => rc-BUSY,1,NoOp(Do Return BUSY)
exten => rc-BUSY,n,Busy()
exten => rc-BUSY,n,Hangup() 

exten => rc-NOANSWER,1,NoOp(Do Return NOANSWER)
exten => rc-NOANSWER,n,NoOp(Cause Code = ${HANGUPCAUSE})
exten => rc-NOANSWER,n,Hangup() 

Any more feed back would be appercaited.

Bryant

--------------------
 From: "Tilghman Lesher" 
Sent: Wednesday, December 22, 2010 3:06 PM
To: "Asterisk Users Mailing List - Non-Commercial Discussion" 

Subject: Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

On Wednesday 22 December 2010 11:42:33 Bryant Zimmerman wrote:
> Ok I can't get my CDR values to set from the h extension in either 1.6.2
> or 1.8 What is wrong? Here is what I found in the cdr.conf
> 
> ; Normally, CDR's are not closed out until after all extensions are
> finished
> ; executing. By enabling this option, the CDR will be ended before
> executing
> ; the "h" extension so that CDR values such as "end" and "billsec" may
> be ; retrieved inside of of this extension. The default value is "no".
> endbeforehexten=no
> 
> The default is set to no so why can't I store any CDR values in my h
> extension.
> 
> exp..
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> I need the cause code stored.

Sounds like your "h" extension is in the wrong context. Try including some
information about where you are putting the "h" extension and what 
includes
you're doing.

-- 
Tilghman

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users


--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Tilghman Lesher
On Wednesday 22 December 2010 11:42:33 Bryant Zimmerman wrote:
> Ok I can't get my CDR values to set from the h extension in either 1.6.2
> or 1.8  What is wrong? Here is what I found in the cdr.conf
> 
> ; Normally, CDR's are not closed out until after all extensions are
> finished
> ; executing. By enabling this option, the CDR will be ended before
> executing
> ; the "h" extension so that CDR values such as "end" and "billsec" may
> be ; retrieved inside of of this extension. The default value is "no".
> endbeforehexten=no
> 
> The default is set to no so why can't I store any CDR values in my h
> extension.
> 
> exp..
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> I need the cause code stored.

Sounds like your "h" extension is in the wrong context.  Try including some
information about where you are putting the "h" extension and what includes
you're doing.

-- 
Tilghman

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Carlos Chavez
On Wed, 2010-12-22 at 12:42 -0500, Bryant Zimmerman wrote:
> Ok I can't get my CDR values to set from the h extension in either
> 1.6.2 or 1.8  What is wrong? Here is what I found in the cdr.conf
> 
> 
> 
> ; Normally, CDR's are not closed out until after all extensions are
> finished 
> ; executing. By enabling this option, the CDR will be ended before
> executing
> ; the "h" extension so that CDR values such as "end" and "billsec" may
> be
> ; retrieved inside of of this extension. The default value is "no".
> endbeforehexten=no
> 
> The default is set to no so why can't I store any CDR values in my h
> extension.
> 
> exp..
> exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
> I need the cause code stored.
> 
> Really what I need to be able to do is in the h quickly store some
> values to the CDR then.
> For the write of the CDR and stopping the billing seconds.  Then
> continue to process some cleanup funcitons.
> 
> How can I work arround asterisk not honoring the endbeforehexten=no.
> Is there some other way to achieve this?
> 
> Bryant
> 
> I need the cause code stored.Really what I need to be able to do is in
> the h quickly store some values to the CDR then.For the write of the
> CDR and stopping the billing seconds.  Then continue to process some
> cleanup funcitons.How can I work arround asterisk not honoring the
> endbeforehexten=no.Is there some other way to achieve this?Bryant 

Is the CDR line your only h line?  I ask because if you only have one
priority for h then you MUST have: 

exten => h,1,Set(CDR(cause_code)=${HANGUPCAUSE})

This is because the dialplan will not use n for the first priority and
thus will never run.

-- 
Telecomunicaciones Abiertas de México S.A. de C.V.
Carlos Chávez Prats
Director de Tecnología
+52-55-91169161 ext 2001


signature.asc
Description: This is a digitally signed message part
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Danny Nicholas
  _  

From: asterisk-users-boun...@lists.digium.com
[mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Bryant
Zimmerman
Sent: Wednesday, December 22, 2010 11:43 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Cc: Asterisk Developers Mailing List
Subject: Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

 

Ok I can't get my CDR values to set from the h extension in either 1.6.2 or
1.8  What is wrong? Here is what I found in the cdr.conf

; Normally, CDR's are not closed out until after all extensions are finished

; executing. By enabling this option, the CDR will be ended before executing
; the "h" extension so that CDR values such as "end" and "billsec" may be
; retrieved inside of of this extension. The default value is "no".
endbeforehexten=no

The default is set to no so why can't I store any CDR values in my h
extension.

exp..
exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
I need the cause code stored.

Really what I need to be able to do is in the h quickly store some values to
the CDR then.
For the write of the CDR and stopping the billing seconds.  Then continue to
process some cleanup funcitons.

How can I work arround asterisk not honoring the endbeforehexten=no.
Is there some other way to achieve this?

Bryant

I need the cause code stored.Really what I need to be able to do is in the h
quickly store some values to the CDR then.For the write of the CDR and
stopping the billing seconds.  Then continue to process some cleanup
funcitons.How can I work arround asterisk not honoring the
endbeforehexten=no.Is there some other way to achieve this?Bryant 

 

Okay, this is a "mentally challenged" solution, but at the h extension you
have ${UNIQUEID} and ${HANGUPCAUSE} available to you.  Use DeadAGI to
"stuff" these values into the CDR or into another file that you can
cross-reference.  If you use the two-file method, you would just select the
matching file using uniqueid.  That's what I did when I had this problem on
a version of 1.4.

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] Possible Bug (Include ${HANGUPCAUSE} in CDR)

2010-12-22 Thread Bryant Zimmerman
Ok I can't get my CDR values to set from the h extension in either 1.6.2 or 
1.8  What is wrong? Here is what I found in the cdr.conf

; Normally, CDR's are not closed out until after all extensions are 
finished 
; executing. By enabling this option, the CDR will be ended before 
executing
; the "h" extension so that CDR values such as "end" and "billsec" may be
; retrieved inside of of this extension. The default value is "no".
endbeforehexten=no

The default is set to no so why can't I store any CDR values in my h 
extension.

exp..
exten => h,n,Set(CDR(cause_code)=${HANGUPCAUSE})
I need the cause code stored.

Really what I need to be able to do is in the h quickly store some values 
to the CDR then.
For the write of the CDR and stopping the billing seconds.  Then continue 
to process some cleanup funcitons.

How can I work arround asterisk not honoring the endbeforehexten=no.
Is there some other way to achieve this?

Bryant I need the cause code stored.Really what I need to be able to do is 
in the h quickly store some values to the CDR then.For the write of the CDR 
and stopping the billing seconds.  Then continue to process some cleanup 
funcitons.How can I work arround asterisk not honoring the 
endbeforehexten=no.Is there some other way to achieve this?Bryant
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users