VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
joe at expert.net Guest
|
Posted: Thu Mar 11, 2021 11:44 pm Post subject: [Freeswitch-users] Un-Subscribing on 481 |
|
|
Hi, everyone.
I recently noticed that Freeswitch continues sending NOTIFY messages even after receiving a 481 from my proxy after not being able to deliver the messages to the UA. This seems to happen when the UA disconnects from the Internet briefly and registers again before the previous subscription expires.
Below is the code I found in sofia.c that seems to handle the 481 response.
if (status == 481 && sip && !sip->sip_retry_after && sip->sip_call_id && (!sofia_private || !sofia_private->is_call)) {
char *sql;
sql = switch_mprintf("delete from sip_subscriptions where call_id='%q'", sip->sip_call_id->i_id);
switch_assert(sql != NULL);
sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE);
nua_handle_destroy(nh);
}
Assuming that the variable sofia_private->is_call evaluates to true when NOTIFY messages are sent during a call, it seems to curtail the removal of the SUBSCRIPTION even after receiving a 481 from the proxy.
Is there a drawback to removing a subscription on a 481 response during a call? Would it make sense to simply remove the check if there is a call in place? Is checking ofia_private->is_call there for another purpose?
Thanks,
Joe Barrero |
|
Back to top |
|
|
brian at freeswitch.com Guest
|
|
Back to top |
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|