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/[EMAIL PROTECTED]&local/[EMAIL PROTECTED]
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/[EMAIL PROTECTED],2", "ZAP/6") in new stack
-- Called 6
-- Executing Dial("Local/[EMAIL PROTECTED],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/[EMAIL PROTECTED],2", "1?BUSY|1") in new stack
-- Goto (default,BUSY,1)
-- Executing Playback("Local/[EMAIL PROTECTED],2", "auth-thankyou") in
new stack
-- Local/[EMAIL PROTECTED],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'
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev