In article <20050413194507.80404.qmail@web41628.mail.yahoo.com>,
Mystery Glitch <mr_e_glitch@yahoo.com> wrote:>
> In my [incoming] context I have something like this:
> exten => 8885861575,1,Macro(vrforward,${EXTEN},8136361451)
But HOW MUCH like the above is what you ACTUALLY have?
Your diagnostic information suggests that you might have something
in that context that is matching the h extension and calling the
macro again. The following would do it:
exten => _.,1,Macro(vrforward,${EXTEN},8136361451)
You need to show us the whole context, or at least all the parts
that can call the macro.
Your log also suggests that your context is not [incoming] at all,
but rather [company-in]
> And thie Macro contains this:
> [macro-vrforward]
> exten => s,1,GotoIF($[${CALLERIDNUM} = 9545551111]?40:2)
> exten => s,2,SetGroup(${ARG1})
> exten => s,3,CheckGroup(3)
> exten => s,4,SetAccount(${ARG1})
> exten => s,5,Dial(SIP/1${ARG2}@termprovider,30,o)
> exten => s,40,AGI(checkin|${ARG1})
> exten => s,41,Hangup
>
>
> Now, when I use my other server to set the caller ID to 9545551111 and
place the call, I get
> this strange loop:
>
> server*CLI>
> -- Executing Macro("SIP/5060-0825a308",
"vrforward|8885861575|8136361451") in new stack
Look at the channel name - it ends a308.
> -- Executing GotoIf("SIP/5060-0825a308", "1?40:2")
in new stack
> -- Goto (macro-vrforward,s,40)
> -- Executing AGI("SIP/5060-0825a308",
"checkin|8885861575") in new stack
> -- Launched AGI Script /var/lib/asterisk/agi-bin/checkin
>
> -- Executing Macro("SIP/5060-0829c958",
"vrforward|8885861575|8136361451") in new stack
Now look at this channel name - it ends c958. This is a fresh SIP call,
not a loop of the first one.
Check the extension logic in your other server, so see why it is placing
two SIP calls instead of one.
> -- Executing GotoIf("SIP/5060-0829c958", "1?40:2")
in new stack
> -- Goto (macro-vrforward,s,40)
> -- Executing AGI("SIP/5060-0829c958",
"checkin|8885861575") in new stack
> -- Launched AGI Script /var/lib/asterisk/agi-bin/checkin
> -- AGI Script checkin completed, returning 0
> -- Executing Hangup("SIP/5060-0825a308", "") in new
stack
> == Spawn extension (macro-vrforward, s, 41) exited non-zero on
'SIP/5060-0825a308' in
> macro 'vrforward'
> == Spawn extension (company-in, 8885861575, 1) exited non-zero on
'SIP/5060-0825a308'
> -- AGI Script checkin completed, returning 0
> -- Executing Hangup("SIP/5060-0829c958", "") in new
stack
> == Spawn extension (macro-vrforward, s, 41) exited non-zero on
'SIP/5060-0829c958' in
> macro 'vrforward'
> == Spawn extension (company-in, 8885861575, 1) exited non-zero on
'SIP/5060-0829c958'
>
> -- Executing Macro("SIP/5060-0829c958",
"vrforward|8885861575|8136361451") in new stack
This is the macro call that I think may be from something matching
the h extension.
> -- Executing GotoIf("SIP/5060-0829c958", "1?40:2")
in new stack
> -- Goto (macro-vrforward,s,40)
> -- Executing AGI("SIP/5060-0829c958",
"checkin|8885861575") in new stack
> -- Launched AGI Script /var/lib/asterisk/agi-bin/checkin
> -- AGI Script checkin completed, returning 0
> -- Executing Hangup("SIP/5060-0829c958", "") in new
stack
> == Spawn extension (macro-vrforward, s, 41) exited non-zero on
'SIP/5060-0829c958' in
> macro 'vrforward'
> == Spawn extension (company-in, 8885861575, 1) exited non-zero on
'SIP/5060-0829c958'
> -- Accepting AUTHENTICATED call from 209.237.227.185, requested format
= 4, actual format = 4
> -- Executing SetCIDNum("IAX2/vr1@vr1/14", "") in
new stack
This is another completely different call, unrelated to your SIP calls.
> -- Executing SetGroup("IAX2/vr1@vr1/14", "NOC
Phone") in new stack
> -- Executing CheckGroup("IAX2/vr1@vr1/14", "3") in
new stack
> -- Executing Dial("IAX2/vr1@vr1/14",
"SIP/18885861575@termprovider|30|o") in new stack
> -- Called 18885861575@termprovider
>
> -- Executing Macro("SIP/5060-0829c958",
"vrforward|8885861575|8136361451") in new stack
> -- Executing GotoIf("SIP/5060-0829c958", "0?40:2")
in new stack
> -- Goto (macro-vrforward,s,2)
> -- Executing SetGroup("SIP/5060-0829c958",
"8885861575") in new stack
> -- Executing CheckGroup("SIP/5060-0829c958", "3")
in new stack
> -- Executing SetAccount("SIP/5060-0829c958",
"000-8885861575") in new stack
> -- Executing Dial("SIP/5060-0829c958",
"SIP/18136361451@termprovider|30|o") in new stack
> -- Called 18136361451@termprovider
> -- SIP/termprovider-d337 is making progress passing it to
SIP/5060-0829c958
> -- SIP/termprovider-a01f is making progress passing it to
IAX2/vr1@vr1/14
> == Spawn extension (company-vr1, 18885861575, 4) exited non-zero on
'IAX2/vr1@vr1/14'
> -- Executing Hangup("IAX2/vr1@vr1/14", "") in new
stack
> == Spawn extension (company-vr1, h, 1) exited non-zero on
'IAX2/vr1@vr1/14'
> -- Hungup 'IAX2/vr1@vr1/14'
> == Spawn extension (macro-vrforward, s, 5) exited non-zero on
'SIP/5060-0829c958' in macro
> 'vrforward'
> == Spawn extension (company-in, 8885861575, 1) exited non-zero on
'SIP/5060-0829c958'
>
>
> My Macro is a simple shell script:
I think you meant your AGI, not Macro
> #!/bin/sh
>
> lynx -dump
'http://www.ourdomain.com/manual.php?pg=admin/cronjobs/origination-check2&i_did='$1
>
>
>
>
> ------------
>
> Why is it looping? It executes the right goto once, and then it starts all
over again, and
> does it right again, and then starts over and this time sends it to the
forwarded number,
> and the receiver gets the callerid all messed up, either all 0's or
some strange local
> number, probably the local provider being used number. The hangup
doesn't terminate the
> channel, it just cyles again, after enough cycles the caller id gets lost
and then ends up
> terminating.
Hangup doesn't stop processing; it hangs up the channel and then jumps
to the h extension. If your context has any exten that could match h,
it will be executed.
> This system is designed to test our origination numbers, if we call any of
our
> numbers with that specific caller id, the system should redirect it to an
agi which sends it
> to a url to be added to a database. Then using Nagios we can check that url
and make sure
> our numbers are all working.
>
> I've tried Answer, AGI, Hangup but to no avail. I then tried DeadAGI,
Hangup, to no avail.
> So what's going on?
We can't say for certain, because you've only provided an approximation
of what you're running, rather than actually what you're running.
But I hope the suggestions above do help.
Cheers
Tony
--
Tony Mountifield
Work: tony@softins.co.uk - http://www.softins.co.uk
Play: tony@mountifield.org - http://tony.mountifield.org