Summary:ASTERISK-07359: MACRO changes UNIQUEID
Reporter:Don (zerofill)Labels:
Date Opened:2006-07-18 16:17:11Date Closed:2011-06-07 14:07:48
Versions:Frequency of
Description:Jumping to a macro from dial command causes the UNIQUEID to be changed.
Comments:By: Jason Parker (jparker) 2006-07-18 16:19:36

Please provide more information.  Jumping how?

Can you give an example of your dialplan?

By: Don (zerofill) 2006-07-18 16:31:42

I am jumping to the macro like this:
exten => 103,n,Dial(Zap/g2/${blahblah}||L(90000:60000])gM(screen^${SCREEN_FILE}^${LANG}^${blahblah}^${CALLERID}))

Passing some ARGs along the way....

This is the Macro...

exten => s,1,Wait(0.1)
exten => s,n,Playback(${ARG2}/youhavecall)
exten => s,n,Playback(${ARG1})
exten => s,n,Read(ACCEPT|toaccept|1)
exten => s,n,GotoIf($[${ACCEPT} = 1 ]?accepted)
exten => s,n,GotoIf($[${ACCEPT} = 5 ]?hangit)
exten => s,n,GotoIf($[${ACCEPT} = 7 ]?blockem)
exten => s,n,GotoIf($[${ACCEPT} = 9 ]?sayem)
exten => s,n,Goto(otherpress)
exten => s,n(accepted),AGI(postpay.php)
exten => s,n,NoOp(CALLER_ID ${CALLERID})
exten => s,n,Playback(${ARG2}/auth-thankyou)
exten => s,n,Goto(end)
exten => s,n(blockem),AGI(blocknum.php)
exten => s,n,Playback(${ARG2}/hasblock)
exten => s,n,Goto(hangit)
exten => s,n(sayem),AGI(saycharges.php)
exten => s,n,Goto(s,1)
exten => s,n(otherpress),Set(MACRO_RESULT=ABORT)
exten => s,n(hangit),Set(MACRO_RESULT=ABORT)
exten => s,n(end),System(/bin/rm ${ARG1})

When the macro is finished and returns back to where I called it under the dial command...I get the UNIQUEID again...I want to use it for writing a stop record in a custom CDR table...
The UNIQUEID is different....unlike when I use UNIQUEID without macros...where it stays the same for the whole call.

By: Tilghman Lesher (tilghman) 2006-07-19 07:28:58

Might you be confusing the uniqueid for the CALLING channel and the uniqueid for the CALLED channel?  The call doesn't get a uniqueid overall:  each leg gets a separate ID.  And the macro in this context is called for the CALLED channel, whereas after it returns, you work purely on the CALLING channel.

I think this is just a misunderstanding on your part and not an actual bug.

By: Russell Bryant (russell) 2006-07-20 09:50:19

I'm closing this out since it is not a bug, as pointed out by Corydon.