[asterisk-dev] Dial() generating ringback until answer or early media

Klaus Darilion klaus.mailinglists at pernau.at
Tue Feb 24 12:31:47 CST 2009


Hi!

I stumbled across the following problem (Asterisk 1.4.23):


SIP phone         Asterisk          SIP phone
    ----INVITE------->
    <---100 Trying----
                Playback(|noanswer)
    <---183-----------
                    Dial()
                      ------INVITE----->
                      <-----180ringing--

Here is the problem: The callee does not generate ringback tone, thus
sends only 180 (no 183). But as the incoming channel already has early
media, the caller's client is waiting for inband audio - but there is none.

To solve this the following behavior is needed: if Dial() receives an 
AST_CONTROL_FRAME like RINGING or CONGESTION, it should check if the 
incoming channel has already early media (is in state PROGRESS?) and if 
yes, activate the tone generator with the corresponding tone, until 
PROGRESS (early media), ANSWER or HANGUP is received on the outgoing 
channel.

There was once a patch which was related to this,
http://bugs.digium.com/view.php?id=10934

but I think it should be solved in a more general way. (Either always or
by adding a new Dial option).

What do you think about this?

regards
klaus




More information about the asterisk-dev mailing list