osip-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[osip-dev] ID-allocation


From: FEICHTER Christoph
Subject: [osip-dev] ID-allocation
Date: Mon, 22 Dec 2014 16:32:30 +0000

hi aymeric,
 
… and a last contribution before the wwll-deserved Christmas holiday:
we recently had a user-agent with 2 SIP calls;
one was active and the second is permanently retried and always receives a 456xx failure response.
since the IDs are allocated cyclically from 0 to 32767, without any check, if a newly allocated ID
is already in use (!!) we ran into the problem, that after the wrap-around
the established call was terminated because of the accidental re-use of its call- or dialog-id !
 
I did not yet implement a clean ID-allocation,
but I would suggest to increase the wrap-around limit to INT_MAX = 0x7FFFFFFF
(this at least makes the problem occur 65535 times later).
and the variable type of the IDs already is int.
 
the change will occur for:
 
jreg.c, line 42:
if (r_id == INT_MAX)            /* keep it non-negative */
 
eXosip.c, line 1081:
if (static_id == INT_MAX)
 
jpublish.c, line 133:
if (p_id == INT_MAX)            /* keep it non-negative */
 
by using the definition of INT_MAX from eXosip2.h, line 110:
#ifndef INT_MAX
#define INT_MAX 0x7FFFFFFF
#endif
 
br, merry Christmas and a happy new year !
christoph
 
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]