提交 3e0aad8e authored 作者: Anthony Minessale's avatar Anthony Minessale 提交者: Ken Rice

FS-4561 send notify with terminate state when we get a SUBSCRIBE with expires 0

上级 9ac3e788
...@@ -3597,7 +3597,7 @@ void sofia_presence_handle_sip_i_subscribe(int status, ...@@ -3597,7 +3597,7 @@ void sofia_presence_handle_sip_i_subscribe(int status,
if ((subbed = atoi(buf)) > 0) { if ((subbed = atoi(buf)) > 0) {
sub_state = nua_substate_active; sub_state = nua_substate_active;
} }
} }
if (sub_state == nua_substate_active) { if (sub_state == nua_substate_active) {
...@@ -3632,6 +3632,7 @@ void sofia_presence_handle_sip_i_subscribe(int status, ...@@ -3632,6 +3632,7 @@ void sofia_presence_handle_sip_i_subscribe(int status,
switch_safe_free(sql); switch_safe_free(sql);
sstr = switch_mprintf("terminated;reason=noresource"); sstr = switch_mprintf("terminated;reason=noresource");
} else { } else {
sip_accept_t *ap = sip->sip_accept; sip_accept_t *ap = sip->sip_accept;
char accept[256] = ""; char accept[256] = "";
...@@ -3733,6 +3734,13 @@ void sofia_presence_handle_sip_i_subscribe(int status, ...@@ -3733,6 +3734,13 @@ void sofia_presence_handle_sip_i_subscribe(int status,
switch_safe_free(new_contactstr); switch_safe_free(new_contactstr);
switch_safe_free(sticky); switch_safe_free(sticky);
if (sub_state == nua_substate_terminated) {
nua_notify(nh,
SIPTAG_EXPIRES_STR("0"),
SIPTAG_SUBSCRIPTION_STATE_STR(sstr),
TAG_END());
}
} }
if (sub_state == nua_substate_terminated) { if (sub_state == nua_substate_terminated) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论