[asterisk-dev] Questions on concurrent Dial

Eric "ManxPower" Wieling eric at fnords.org
Mon Jul 24 05:10:49 MST 2006


Chan Kwang Mien wrote:
> Hi,
> 
> I am currently implementing incoming group call in Asterisk. The
> requirement is such that when a particular extension is received at
> Asterisk, Asterisk will dial all phones belonging to the same group.
> However, not all phones ring, only some phones should ring.
> 
> I have tried 2 methods :
> 
> a) The first one was using Alert-Info as follows. In this example, only
> phones with extensions 102 and 103 should ring, but 101 will not.
> However, the problem with this method is that Asterisk will be blocked
> on the first dial as 101 is ringing. Hence, the second Dial will not be
> executed.
> 
> exten =>123,1,SIPAddHeader("Alert-Info:<http://ip-address/empty.wav>")
> exten =>123,2,Dial(SIP/101)
> 
> exten =>123,3,SIPAddHeader("Alert-Info:<http://ip-address/ring.wav>") 
> exten =>123,4,Dial(SIP/102&SIP/103....)
> 
> 
> b) The second method was to use threads in perl AGI. One thread executes
> $AGI->exec('Dial',"SIP/101") while the second thread executes $AGI->exec('Dial',
> "SIP/102&SIP/103"). I noticed that Asterisk would execute the first thread and 
> be blocked at the first Dial. Hence, again the second dial cannot be executed 
> simultaneously with the first Dial.
> 
> I was wondering if there is any way in Asterisk such that 2 Dials can be 
> executed simultaneously ?

One way to do this might be to use one Dial() command to ring all 
phones, but before running the Dial() set ALERT_INFO to something like 
"SelectiveRing".  Define SelectiveRing on some phones as a ring, and on 
other phones as a silent ring.

-- 
Now accepting new clients in Birmingham, Atlanta, Huntsville, 
Chattanooga, and Montgomery.



More information about the asterisk-dev mailing list