[OpenSIPS-Users] dialog problems after forking in the far end
bogdan at opensips.org
Thu Jul 18 09:10:21 CEST 2013
When doing parallel forking (as you describe), OpenSIPS will
automatically cancel the pending branches (still in early state) as soon
as there is a 200 OK from one of the branches.
So, in your case, as soon as UAS 1 sends 200 OK to OpenSIPS, OpenSIPS
will send a cancel to the UAS 2. The UAC must send any BYE or CANCEL is
OpenSIPS Founder and Developer
On 07/17/2013 01:29 PM, Marco Hierl wrote:
> Hello all,
> we are receiving an INVITE from an UAC, located in network A. Opensips does some stuff like create_dialog("B") and finally leads it on to network B. In network B forking will done to 2 different UAS's, located in network B. So we receive 2times 180 REPLY with different to_tags, which will be lead backward to the UAC. After a short time UAS 1 takes the call, sends 200OK to the UAC. Therefor the UAC stops the 2nd leg by sending a BYE with the correct (UAS 2) to_tag to UAS 2. When receiving this BYE Opensips stops the confirmed dialog of UAS 1, which is not correct in my eyes. The following ACK from the UAC for the received INVITE/200OK is not matching the dialog anymore.
> I saw that the $DLG_status becomes 2 (early state) after receiving the 180 REPLYs and I guess it was 3 (confirmed) after opensips got the 200 OK. (I need to guess it, because I printed $DLG_status in the onreply_route and the state seems to be updated after this is left) But after the BYE it was 5 (ended) and $DLG_count was decreased by 1 unit.
> Topologie hiding is used and I tried dlg_match_mode 1&2.
> Do I understand something wrong or can anybody tell me what I need to change in order to keep the dialog?
> thanks for your ideas and best regards
> Users mailing list
> Users at lists.opensips.org
More information about the Users