[asterisk-dev] SIP Ringing does not stop

Richard Mudgett rmudgett at digium.com
Mon May 6 19:18:19 CDT 2013


> We are working on a new channel driver, which is more of an analog
> driver. When originating a call using this new driver (incoming) to
> a SIP end user (SIP Channel driver is the outgoing channel driver)
> the SIP Channel Driver does send out to its endpoint the SIP:INVITE,
> and received the SIP:1xx messages including RINGING. The 200OK comes
> into the SIP Channel Driver and SIP:ACK sent out to the endpoint.
> BUT THE ISSUE IS THIS: Ringing still continues on the line and does
> not stop, event after answering so it is not possible to talk.
> 
> 
> 
> How to stop ringing? What needs to be done to ensure that Ringing is
> not longer applied to that endpoint? A SIP call to SIP call works
> fine through the SIP Channel Driver.
> 
> 
> The chan_sip sent invite and received 100, 180 and 200 then sent ACK
> to SIP end-point.
> 
> The newchan_answer() callback method was called where we set state to
> AST_STATE_UP.
> ast_setstate(ast, AST_STATE_UP);
> The newchan_indicate() callback method was called twice with
> conditions -1 and 20 (SRCUPDATE)
> We just return 0.

Returning 0 from newchan_indicate() tells the core that the channel
driver handled the event.  The -1 condition is used to stop playing
tones like ringback, busy, congestion, etc.

Richard



More information about the asterisk-dev mailing list