[asterisk-dev] chan_sip and early media

Joshua Colp jcolp at digium.com
Tue May 2 16:52:17 CDT 2017


On Tue, May 2, 2017, at 06:47 PM, Valter Nogueira wrote:
> I am originating call using early media option.
> 
> Whe I issue a hangup (like in hangup request sip/...) before the b-leg
> answer, it don't send a SIP CANCEL and the call keeps going on.
> 
> I figured out that it is happening due to sip_hangup() checks:
> 
> * if (p->invitestate < INV_COMPLETED && ast_channel_state(p->owner) !=
> AST_STATE_UP) {*
> 
> * needcancel = TRUE;*
> * ast_debug(4, "Hanging up channel in state %s (not UP)\n",
> ast_state2str(ast_channel_state(ast)));*
> * }*
> 
> And *ast_channel_state(p->owner) == AST_STATE_UP*
> 
> I guess that early media option puts channel state in AST_STATE_UP
> 
> So, is there a way to not set up channel state to *AST_STATE_UP* in early
> media? Or the state check could be removed?

Early media doesn't change the channel state to AST_STATE_UP. This only
occurs if the channel is actually answered. I'd suggest providing more
details about the precise scenario including any dialplan.

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list