[asterisk-dev] what am i doing wrong/ DIAL (local)/ always busy
Kai Ober
kast.asterisk at gmx.de
Mon Sep 25 01:50:48 MST 2006
hi list
this is my dialplan
[extern]
exten => 1,1,Dial(ZAP/6&ZAP/6&ZAP/6)
exten => 1,2,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => 2,1,Dial(local/23&local/42)
exten => 2,2,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => BUSY,1,Playback(auth-thankyou)
exten => BUSY,2,Hangup
[default]
exten => 23,1,Dial(ZAP/6)
exten => 23,2,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => 42,1,Dial(ZAP/6)
exten => 42,2,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => BUSY,1,Playback(auth-thankyou)
exten => BUSY,2,Hangup
example1) when i dial 1, everything is okay, ZAP/6 Rings
example2) but when i dial 2, i get DIALSTATUS (user) BUSY. How to avoid
this?
is this a bug, or handels asterisk this in a way i dont't expect?/Don't
want?
the "dial setup" is done by the same incoming call/channel so asterisk
should mention this, and don't send a BUSY back to the caller
(like in example 1). how to tell asterisk not to do this?
any suggestions?
regards
Kai
for ppl how want to know why i'm doing that wired stuff obove:
the dialplan on top is just a short example,the real dialplan does cfwd
handling and so on.
the second example accures in reality (in my dialplan) when an external
number is mapped to two internal numbers,
useing asteriskDB to store the info, and one of the calles forwards his
number to the second calle: i.e
DB entry looks like this
family key value
ex_to_int 2 local/23 at default&local/24 at default
23 CFU 42
[extern]
exten => 2,1,Set(DEST=${DB(ex_to_int/${EXTEN})})
exten => 2,2,Dial($DEST)
exten => 2,3,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
[default]
exten => 23,1,Set(CFU=${DB(23/CFU)})
exten => 23,2,GotoIf($["${CFU}"!=""]?5)
exten => 23,3,Dial(ZAP/5)
exten => 23,4,Goto(6)
exten => 23,5,Dial(${CFU})
exten => 23,6,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => 42,1,Set(CFU=${DB(42/CFU)})
exten => 42,2,GotoIf($["${CFU}"!=""]?5)
exten => 42,3,Dial(ZAP/6)
exten => 42,4,Goto(6)
exten => 42,5,Dial(${CFU})
exten => 42,6,GotoIf($[${DIALSTATUS}=BUSY]?BUSY,1)
exten => BUSY,1,Playback(auth-thankyou)
exten => BUSY,2,Hangup
----- cli output from example1 and 2
*CLI> set verbose 4
Verbosity was 2 and is now 4
-- Executing Dial("mISDN/1-1", "ZAP/6&ZAP/6&ZAP/6") in new stack
-- Called 6
Sep 25 10:09:03 NOTICE[4606]: app_dial.c:1056 dial_exec_full: Unable to
create channel of type 'ZAP' (cause 17 - User busy)
Sep 25 10:09:03 NOTICE[4606]: app_dial.c:1056 dial_exec_full: Unable to
create channel of type 'ZAP' (cause 17 - User busy)
-- Zap/6-1 is ringing
-- Zap/6-1 is ringing
-- Zap/6-1 is ringing
-- Hungup 'Zap/6-1'
== Spawn extension (isdn-nt, 1, 1) exited non-zero on 'mISDN/1-1'
*CLI>
-- Executing Dial("mISDN/1-1", "local/23&local/42") in new stack
-- Called 23
-- Called 42
-- Executing Dial("Local/23 at default-3bed,2", "ZAP/6") in new stack
-- Called 6
-- Executing Dial("Local/42 at default-43a1,2", "ZAP/6") in new stack
Sep 25 10:09:15 NOTICE[4623]: app_dial.c:1056 dial_exec_full: Unable to
create channel of type 'ZAP' (cause 17 - User busy)
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing GotoIf("Local/42 at default-43a1,2", "1?BUSY|1") in new stack
-- Goto (default,BUSY,1)
-- Executing Playback("Local/42 at default-43a1,2", "auth-thankyou") in
new stack
-- Local/42 at default-43a1,1 answered mISDN/1-1
Sep 25 10:09:15 WARNING[4512]: channel.c:787 channel_find_locked:
Avoided initial deadlock for '0x8241818', 10 retries!
-- Playing 'auth-thankyou' (language 'de')
-- Zap/6-1 is ringing
-- Hungup 'Zap/6-1'
More information about the asterisk-dev
mailing list