mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-06 13:07:21 +00:00
Merge "chan_sip: Session Timers required but refused wrongly." into 13
This commit is contained in:
@@ -25769,8 +25769,7 @@ static int handle_request_update(struct sip_pvt *p, struct sip_request *req)
|
|||||||
* \retval 0 ok
|
* \retval 0 ok
|
||||||
* \retval -1 failure
|
* \retval -1 failure
|
||||||
*/
|
*/
|
||||||
static int handle_request_invite_st(struct sip_pvt *p, struct sip_request *req,
|
static int handle_request_invite_st(struct sip_pvt *p, struct sip_request *req, int reinvite)
|
||||||
const char *required, int reinvite)
|
|
||||||
{
|
{
|
||||||
const char *p_uac_se_hdr; /* UAC's Session-Expires header string */
|
const char *p_uac_se_hdr; /* UAC's Session-Expires header string */
|
||||||
const char *p_uac_min_se; /* UAC's requested Min-SE interval (char string) */
|
const char *p_uac_min_se; /* UAC's requested Min-SE interval (char string) */
|
||||||
@@ -25850,8 +25849,8 @@ static int handle_request_invite_st(struct sip_pvt *p, struct sip_request *req,
|
|||||||
|
|
||||||
case SESSION_TIMER_MODE_REFUSE:
|
case SESSION_TIMER_MODE_REFUSE:
|
||||||
if (p->reqsipoptions & SIP_OPT_TIMER) {
|
if (p->reqsipoptions & SIP_OPT_TIMER) {
|
||||||
transmit_response_with_unsupported(p, "420 Option Disabled", req, required);
|
transmit_response_with_unsupported(p, "420 Option Disabled", req, "timer");
|
||||||
ast_log(LOG_WARNING, "Received SIP INVITE with supported but disabled option: %s\n", required);
|
ast_log(LOG_WARNING, "Received SIP INVITE with supported but disabled option: timer\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -25957,7 +25956,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, str
|
|||||||
* then send a 420 with only those unsupported options listed */
|
* then send a 420 with only those unsupported options listed */
|
||||||
if (!ast_strlen_zero(unsupported)) {
|
if (!ast_strlen_zero(unsupported)) {
|
||||||
transmit_response_with_unsupported(p, "420 Bad extension (unsupported)", req, unsupported);
|
transmit_response_with_unsupported(p, "420 Bad extension (unsupported)", req, unsupported);
|
||||||
ast_log(LOG_WARNING, "Received SIP INVITE with unsupported required extension: required:%s unsupported:%s\n", required, unsupported);
|
ast_log(LOG_WARNING, "Received SIP INVITE with unsupported required extension: %s\n", unsupported);
|
||||||
p->invitestate = INV_COMPLETED;
|
p->invitestate = INV_COMPLETED;
|
||||||
if (!p->lastinvite) {
|
if (!p->lastinvite) {
|
||||||
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
||||||
@@ -26395,7 +26394,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, str
|
|||||||
|
|
||||||
make_our_tag(p);
|
make_our_tag(p);
|
||||||
|
|
||||||
if (handle_request_invite_st(p, req, required, reinvite)) {
|
if (handle_request_invite_st(p, req, reinvite)) {
|
||||||
p->invitestate = INV_COMPLETED;
|
p->invitestate = INV_COMPLETED;
|
||||||
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
||||||
res = INV_REQ_ERROR;
|
res = INV_REQ_ERROR;
|
||||||
@@ -26437,7 +26436,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, str
|
|||||||
if (!req->ignore)
|
if (!req->ignore)
|
||||||
reinvite = 1;
|
reinvite = 1;
|
||||||
|
|
||||||
if (handle_request_invite_st(p, req, required, reinvite)) {
|
if (handle_request_invite_st(p, req, reinvite)) {
|
||||||
p->invitestate = INV_COMPLETED;
|
p->invitestate = INV_COMPLETED;
|
||||||
if (!p->lastinvite) {
|
if (!p->lastinvite) {
|
||||||
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
|
||||||
|
Reference in New Issue
Block a user