mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
res/res_pjsip_session: allow SDP answer to be regenerated
If an SDP answer hasn't been sent yet, it's legal to change it. This is required for PJSIP_DTMF_MODE to work correctly, and can also have use in the future for updating codecs too. ASTERISK-27209 #close Change-Id: Idbbfb7cb3f72fbd96c94d10d93540f69bd51e7a1
This commit is contained in:
@@ -1241,10 +1241,13 @@ static int dtmf_mode_refresh_cb(void *obj)
|
||||
struct refresh_data *data = obj;
|
||||
|
||||
if (data->session->inv_session->state == PJSIP_INV_STATE_CONFIRMED) {
|
||||
ast_debug(3, "Changing DTMF mode on channel %s after OFFER/ANSER completion. Sending session refresh\n", ast_channel_name(data->session->channel));
|
||||
ast_debug(3, "Changing DTMF mode on channel %s after OFFER/ANSWER completion. Sending session refresh\n", ast_channel_name(data->session->channel));
|
||||
|
||||
ast_sip_session_refresh(data->session, NULL, NULL,
|
||||
sip_session_response_cb, data->method, 1, NULL);
|
||||
} else if (data->session->inv_session->state == PJSIP_INV_STATE_INCOMING) {
|
||||
ast_debug(3, "Changing DTMF mode on channel %s during OFFER/ANSWER exchange. Updating SDP answer\n", ast_channel_name(data->session->channel));
|
||||
ast_sip_session_regenerate_answer(data->session, NULL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user