summaryrefslogtreecommitdiff
path: root/pjsip/src
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src')
-rw-r--r--pjsip/src/pjsip-ua/sip_replaces.c4
-rw-r--r--pjsip/src/pjsip/sip_config.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/pjsip/src/pjsip-ua/sip_replaces.c b/pjsip/src/pjsip-ua/sip_replaces.c
index 70329f97..3bda5305 100644
--- a/pjsip/src/pjsip-ua/sip_replaces.c
+++ b/pjsip/src/pjsip-ua/sip_replaces.c
@@ -305,7 +305,9 @@ PJ_DEF(pj_status_t) pjsip_replaces_verify_request( pjsip_rx_data *rdata,
* initiated by this UA, it returns a 481 (Call/Transaction Does Not
* Exist) response to the new INVITE.
*/
- if (inv->state <= PJSIP_INV_STATE_EARLY && inv->role != PJSIP_ROLE_UAC) {
+ if (inv->state <= PJSIP_INV_STATE_EARLY && inv->role != PJSIP_ROLE_UAC &&
+ pjsip_cfg()->endpt.accept_replace_in_early_state == PJ_FALSE)
+ {
code = PJSIP_SC_CALL_TSX_DOES_NOT_EXIST;
warn_text = "Found early INVITE session but not initiated by this UA";
goto on_return;
diff --git a/pjsip/src/pjsip/sip_config.c b/pjsip/src/pjsip/sip_config.c
index ce970e8a..e64e49d7 100644
--- a/pjsip/src/pjsip/sip_config.c
+++ b/pjsip/src/pjsip/sip_config.c
@@ -26,6 +26,7 @@ pjsip_cfg_t pjsip_sip_cfg_var =
/* Global settings */
{
PJSIP_ALLOW_PORT_IN_FROMTO_HDR,
+ PJSIP_ACCEPT_REPLACE_IN_EARLY_STATE,
0,
PJSIP_DONT_SWITCH_TO_TCP
},