I’ve configured a ring group that dials 4 phones. It can be invoked either by (a) an internal SIP call to extension 300 or (b) an incoming ZAP call. The problem: different behaviour when invoked by (a) or (b).
In the former case (a), Asterisk excludes a busy extension from the phones it dials (reporting this at the console).
Good:
[quote=“At my console, Asterisk”] – Executing [300@standard:1] Goto(“SIP/297-08227600”, “ringroups-custom-2|s|1”) in new stack
– Goto (ringroups-custom-2,s,1)
– Executing [s@ringroups-custom-2:1] NoOp(“SIP/297-08227600”, “RINGGROUP”) in new stack
– Executing [s@ringroups-custom-2:2] Dial(“SIP/297-08227600”, “SIP/201&SIP/200&SIP/202&SIP/251|20”) in new stack
– Called 201
– Called 200
– Called 202
– Called 251
– SIP/202-0824def0 is ringing
– Got SIP response 486 “Busy” back from 192.168.1.74
– SIP/201-08236118 is busy
– SIP/251-08251e58 is ringing
– SIP/200-08249f88 is ringing
[/quote]
In the latter case (b) however, Asterisk rings all 4 extensions regardless of whether one is busy.
Bad:
[quote=“At my console, Asterisk”] – Executing [s@DID_trunk_1:3] Goto(“Zap/3-1”, “ringroups-custom-2|s|1”) in new stack
– Goto (ringroups-custom-2,s,1)
– Executing [s@ringroups-custom-2:1] NoOp(“Zap/3-1”, “RINGGROUP”) in new stack
– Executing [s@ringroups-custom-2:2] Dial(“Zap/3-1”, “SIP/201&SIP/200&SIP/202&SIP/251|20”) in new stack
– Called 201
– Called 200
– Called 202
– Called 251
– SIP/201-0823dd90 is ringing
– SIP/202-08258238 is ringing
– SIP/200-08253af0 is ringing
– SIP/251-0825d060 is ringing
[/quote]
Can anyone explain this inconsistency? I have a requirement to avoid ringing a busy phone. So I need to remove the inconsistency and have case (b) exhibit the case (a) behaviour (detect and exclude busy phones). Asterisk version: 1.4.9 (I’m interested if this issue is addressed/absent in a newer version; however, please provide explanation+workaround based on 1.4.9 if possible as we cannot undertake a version change immediately.)
extensions.conf:
[numberplan-custom-2]
include=default
.
.
.
exten = 300,1,Goto(ringroups-custom-2|s|1)
[ringroups-custom-2]
exten = s,1,NoOp(RINGGROUP)
exten = s,n,Dial(SIP/201&SIP/200&SIP/202&SIP/251,20)
exten = s,n,Voicemail(200&201,us)
extensions.ael:
context DID_trunk_1
{
s =>
{
NoOp( I/C RING BT HOME: ${STRFTIME(${EPOCH},,%c)});
&fixcid();
goto ringroups-custom-2|s|1;
}
};