Hi, I also was thinking about usleep as in Nick's solution.
My OpenSIPS version is 1.11 and async, AFAIK, is available starting with version 2.1, isn't it? Thanks, On Tue, Feb 7, 2017 at 7:35 AM, Bogdan-Andrei Iancu <bog...@opensips.org> wrote: > Hi Nick, > > It is risky to do a sync sleep as you keep the process blocked, so the > ability of OpenSIPS to handle new messages will decrease . > > Either do async sleep, either simple drop it to force a retransmissions in > 500ms - much simpler :) > > Regards, > > Bogdan-Andrei Iancu > OpenSIPS Founder and Developerhttp://www.opensips-solutions.com > > On 02/07/2017 12:22 PM, Nick Altmann wrote: > > The easies way we use in such cases is: > if (is_method("INVITE")) usleep("500"); > for in-dialog INVITEs (inside loose_route() / match_dialog() section). > > It will delay slightly all reINVITES, but also will guarantee correct > order of packets. > > 2017-02-06 22:46 GMT+03:00 Stas Kobzar <stas.kob...@modulis.ca>: > >> Hello Bogdan, >> >> In my case, ACK for previous INVITE has already been received by >> OpenSIPS, but not sent yet. >> In this case, will the variable $DLG_status still equals 3 ? >> >> Thanks >> >> On Sun, Feb 5, 2017 at 11:15 AM, Bogdan-Andrei Iancu <bog...@opensips.org >> > wrote: >> >>> Hi Stas, >>> >>> Such races may happen at application level or even at network level >>> (when using UDP) - so if you have 2 packets very close as time, they may >>> swap. That is SIP :) >>> >>> The full guilt is in the UAC device, IMHO - it should let some time gap >>> between the ACK and re-INVITE, to eliminate any possible races. >>> >>> Now, what you can do is to use the dialog module and to check the dialog >>> state when receiving the re-invite. If $DLG_status is *3* (Confirmed by >>> a final reply but no ACK received yet), drop with no reply the re-INVITEs >>> (to force a later retransmission) : >>> http://www.opensips.org/html/docs/modules/2.2.x/dialog.html#id297400 >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com >>> >>> On 02/02/2017 10:31 PM, Stas Kobzar wrote: >>> >>> Hello List, >>> My call flow has initial INVITE and re-INVITE to update RTP IP/port. >>> Usually everything works well, but sometimes OpenSIPS come up with >>> following example: >>> UA OpenSIPS PSTN GW >>> ------------------------------------------- >>> INV(CSeq: 100) -----> | ---> INV(CSeq: 100) >>> <---- 200 OK | <--- 200 OK >>> (UA sends ACK then new INVITE) >>> ACK(CSeq: 100) -----> | >>> reINV(Cseq: 101) ---> | >>> (OpenSIPS relays first INVITE then ACK) >>> | ---> reINV(CSeq: 101) >>> | ---> ACK(CSeq: 100) >>> When PSTN gateway receives re-INVITE before ACK for previous INVITE >>> it responds 500 with Retry-After header. >>> This is correct behaviour which conforms to the RFC 3261 section 14.2 >>> My question is: >>> Is it possible to assure order of received and relayed messages within >>> the same SIP session? Is there any configuration parameter? >>> >>> Thank you, >>> -- >>> >>> Stas Kobzar >>> >>> Developeur VoIP / VoIP Developer >>> >>> Modulis.ca Inc. >>> >>> # Bureau / Office: 514-284-2020 x 246 <%28514%29%20284-2020> >>> >>> Email: s <http://firstname.lastname>tas.kob...@modulis.ca >>> >>> https://www.modulis.com >>> >>> _______________________________________________ >>> Users mailing >>> listUsers@lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> -- >> >> Stas Kobzar >> >> Developeur VoIP / VoIP Developer >> >> Modulis.ca Inc. >> >> # Bureau / Office: 514-284-2020 x 246 <(514)%20284-2020> >> >> Email: s <http://firstname.lastname>tas.kob...@modulis.ca >> >> https://www.modulis.com >> _______________________________________________ Users mailing list >> Users@lists.opensips.org http://lists.opensips.org/cgi- >> bin/mailman/listinfo/users > > > _______________________________________________ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > -- Stas Kobzar Developeur VoIP / VoIP Developer Modulis.ca Inc. # Bureau / Office: 514-284-2020 x 246 Email: s <http://firstname.lastname>tas.kob...@modulis.ca https://www.modulis.com
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users