Hello, all!
I’ve noticed a peculiar situation and I am hoping someone can shed some light on it for me. We have an Asterisk (1.4.18 ) box talking to the world via Zaptel on a PRI from a telco (USA). I have an extension that returns busy signal (fast-busy or regular busy) (using US tones). When I call from a landline or from another PBX, I get a busy signal, just like I expect. But when I call from a cell phone, the cell phone terminates the call as soon as connection is established. I’ve tested several cell phone models from different providers in the US. Same thing happens with calls coming from Gizmo.
I manually changed the tones I send back (with Playtones) to mimic Austrian busy tone (picked the first one in the list from indications.conf) . Now, from the cell phone and Gizmo alike, I get busy tones. So, my questions is:
why do cell phones and Gizmo both detect busy tones and terminate the call? Is that a standard behavior? Why don’t landlines do that?
Thank you in advance.
Regards,
Mark G.
Not sure about this, but, if you’re using a form of digital communication to your telco, and you use the Busy() application, I think it actually signals the telco that the line is busy, instead of simply playing the tones. That signal gets passed to your cell phone, which reports a busy call. Just like when you pick up your PSTN handset and try to dial yourself - the cell phone won’t just play the busy tones, it’ll know the line is actually busy and display it on the screen. Playtones() isn’t sending any signals, just playing tones. Try playtones() with the appropriate frequencies for US busy signals, if that comes through, that’s what’s going on.
I probably wasn’t clear in my explanation. Apologies for that. I actually just used Playtones(), not Busy() or Congestion() in all cases.
From my testing (I have no theoretical knowledge on this though), cell phones and analog devices do not get PRI messages that digital equipment does. Analog phones deal with signalling using voltage changes and polarity reversal (that’s not used in the US anymore). Cell phones probably do frequency detection on the signals to guess the tones coming back, a process much like voltage changes in the analog world. But that’s how I understand it, I might be wrong. This is backed up by the fact that as soon as I changed the tones from US to Austria, the cell phones stopped dropping the call–i.e. they stopped detecting the busy tone.