VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
asterisk_list at earth... Guest
|
Posted: Thu Mar 24, 2016 8:44 am Post subject: [asterisk-users] Mobiles not detecting as BUSY until Dial() |
|
|
I'm not sure if this is an Asterisk thing, a handset thing or a telco thing,
so please be gentle with me if this is not the right place to ask .....
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.
Now, given how far we have moved on since the days of clicky-clicky exchanges,
it is entirely possible that the mobile phone implicitly supports multiple
"lines", so you can put an existing caller on hold, talk to the new caller and
then switch between them as long as they stay on the line ..... in which
case, this behaviour is pretty much what should be expected -- Asterisk
doesn't know for sure that the remote party really is engaged, because they
retain the option to put their call on hold and answer you, so it lets the
timeout run; then, since they were already on a call at the time the first
signalling message was sent, it sets the dialstatus to BUSY.
Where should I be looking, if I want to reproduce the "old-fashioned"
behaviour and return an engaged signal straight away?
--
AJS
Note: Originating address only accepts e-mail from list! If replying off-
list, change address to asterisk1list at earthshod dot co dot uk .
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users |
|
Back to top |
|
|
tony at softins.co.uk Guest
|
Posted: Thu Mar 24, 2016 9:17 am Post subject: [asterisk-users] Mobiles not detecting as BUSY until Dial() |
|
|
In article <201603241343.24128.asterisk_list@earthshod.co.uk>,
A J Stiles <asterisk_list@earthshod.co.uk> wrote:
Quote: | I'm not sure if this is an Asterisk thing, a handset thing or a telco thing,
so please be gentle with me if this is not the right place to ask .....
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.
Now, given how far we have moved on since the days of clicky-clicky exchanges,
it is entirely possible that the mobile phone implicitly supports multiple
"lines", so you can put an existing caller on hold, talk to the new caller and
then switch between them as long as they stay on the line ..... in which
case, this behaviour is pretty much what should be expected -- Asterisk
doesn't know for sure that the remote party really is engaged, because they
retain the option to put their call on hold and answer you, so it lets the
timeout run; then, since they were already on a call at the time the first
signalling message was sent, it sets the dialstatus to BUSY.
Where should I be looking, if I want to reproduce the "old-fashioned"
behaviour and return an engaged signal straight away?
|
Sounds like the mobile line has Call Waiting enabled, and the waiting call
has been ignored by the recipient until it times out.
See https://en.wikipedia.org/wiki/Call_waiting and try *#43# on the mobile
in question to check whether call waiting is active. Use #43# to try
deactivating it and see if that helps.
Cheers
Tony
--
Tony Mountifield
Work: tony@softins.co.uk - http://www.softins.co.uk
Play: tony@mountifield.org - http://tony.mountifield.org
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users |
|
Back to top |
|
|
asterisk_list at earth... Guest
|
Posted: Thu Mar 24, 2016 11:55 am Post subject: [asterisk-users] Mobiles not detecting as BUSY until Dial() |
|
|
On Thursday 24 Mar 2016, Tony Mountifield wrote:
Quote: | In article <201603241343.24128.asterisk_list@earthshod.co.uk>,
A J Stiles <asterisk_list@earthshod.co.uk> wrote:
Quote: | 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 . |
|
Back to top |
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|