[asterisk-users] Mobiles not detecting as BUSY until Dial() timeout completes

A J Stiles asterisk_list at earthshod.co.uk
Thu Mar 24 11:54:58 CDT 2016


On Thursday 24 Mar 2016, Tony Mountifield wrote:
> In article <201603241343.24128.asterisk_list at earthshod.co.uk>,
> A J Stiles <asterisk_list at earthshod.co.uk> wrote:
> > When placing a call over a SIP channel to a mobile phone, if the phone is
> > engaged, it does not return a BUSY status straightaway.  Rather, I get a
> > ringing-out tone for the timeout duration specified in the Dial()
> > statement; *then* I get ${DIALSTATUS}=BUSY.
> Sounds like the mobile line has Call Waiting enabled, and the waiting call
> has been ignored by the recipient until it times out.

Yes, that was what I was suspecting.  Although, the handset I'm using didn't 
appear to acknowledge the second call.

Anyway, at least you gave me somewhere to dig .....

Querying with *#43#  (same as BT landline)  brought up a message that Call 
Waiting was deactivated.  I turned it on with *43# and was then able to switch 
back and forth between two callers.

Then I asked someone else, who noticed I was using the "r" option in my Dial() 
statement and suggested removing this.  I turned Call Waiting off again with 
#43# and tried again.  The handset from which I was calling still gave a 
ringing-out tone.  But once this was answered, a further call stopped short at 
the Dial() statement and went straight to the h extension, instead of moving 
onto the next step  (here just a NoOp to display the value of ${DIALSTATUS})  
as though the call had been answered.


Is there something I am missing, or should I be looking towards the telco?


N.B.  I'm actually using realtime config to get the dialplan from a database; 
but this is what it would look like if it was written directly in 
extensions.conf.  The AGI script at step 2 is required because when the call 
comes from a mobile phone, the telco are actually sending the originating SIM 
ID  (the long number that begins with 8944.....)  in ${CALLERID(num)}, not the 
actual mobile phone number.  And the Dial() also should be directed to the 
destination SIM ID.

1,NoOp(Call from ${CALLERID(num)})
2,AGI(lookup_caller_id.agi,${CALLERID(num)})
3,NoOp(Caller ID should be ${clid})
4,Set(CALLERID(num)=${clid})
5,Macro(record-on)
6,Dial(${TELCO}/${DEST_SIM_ID},45)
7,ExecIf($["${DIALSTATUS}"="BUSY"]?VoiceMail(${EXTEN},b):VoiceMail(${EXTEN},u))
8,HangUp()


-- 
AJS

Note:  Originating address only accepts e-mail from list!  If replying off-
list, change address to asterisk1list at earthshod dot co dot uk .
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20160324/68d3e515/attachment.html>


More information about the asterisk-users mailing list