[Devel] msg->id unique???
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri Oct 27 16:22:06 CEST 2006
Hi,
Weiter Leiter wrote:
> Are we talking about the unsigned int msg_no variable (initialized to
> 0, that could be safely declared static if removed from globals),
> declared in receive.c?
yes, that is - I already made the changes you suggested - it is more
clean from programming point of view.
>
> If we're not (actually, moreover if we do...), you could try to
> randomly initialize this variable, but with the MSByte of the general
> (per process) counter with the (mirrored maybe) LSB of process's pid
> or some other range 'chunking' technique; if they are truly random, I
> see no reason why they couldn't be initialized with close values in
> different processes, if you're lucky enough....
yes, having a random init will be better, so if you have the code, it
will be great ;) !
regards,
bogdan
>
> WL.
>
> On 10/25/06, *Carsten Bock* <openser-list at qbiz.de
> <mailto:openser-list at qbiz.de>> wrote:
>
> Hi Bogdan,
>
> I did not restart the proxy and even if we did, this would not
> have lead
> into an error, because then we would do a database lookup in every
> case
> (unless the ID would be 0).
> I know, it should be incremented for every received message and it
> should not lead into this error, but in our case it did not work
> properly :-(
> I am investigating on this issue and keep you'll informed if i find
> something.
>
>
> CU in Berlin,
> Carsten
>
>
> Bogdan-Andrei Iancu schrieb:
> > Hi Carsten,
> >
> > have you restarted your proxy between the two requests with same IP?
> > the msg id is initialized in each process with a random value and
> > incremented for each received message, so it will loop after ~4
> > billions messages :).
> >
> > regards,
> > bogdan
> >
> > Carsten Bock wrote:
> >
> >> Hi everybody,
> >>
> >> I have just seen a strange phenomenon with "msg->id" field, which,
> >> according to the source should be unique per thread.
> >>
> >> From parser/msg_parser.h, line 161:
> >> [...]
> >> struct sip_msg {
> >> unsigned int id; /* message id, unique/process*/
> >> [...]
> >>
> >>
> >> We use this field for minimzing Database-Lookups so we do some
> >> lookups just once per request. But now we found some very few
> >> examples (e. g. maybe 2-3 times per 1000 Requests), were this
> id was
> >> the same for different requests per thread and this caused some
> >> trouble on our proxy. I did see, the call-id of the request was
> >> different, but the id was the same.
> >> The calls were generated by an Asterisk (SIP) calling another
> >> Asterisk (E1) via an Cisco Mediagateway.
> >> Has anyone else experienced this?
> >>
> >> Thanks,
> >>
> >> Carsten
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Devel mailing list
> >> Devel at openser.org <mailto:Devel at openser.org>
> >> http://openser.org/cgi-bin/mailman/listinfo/devel
> <http://openser.org/cgi-bin/mailman/listinfo/devel>
> >>
> >
> >
>
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org <mailto:Devel at openser.org>
> http://openser.org/cgi-bin/mailman/listinfo/devel
>
>
More information about the Devel
mailing list