From: Bruno, G. \(N. : AtosOrigin\) <gue...@hp...> - 2007-04-27 15:43:32
|
Hello Concerning your problem, Seagull is not enable to restore all the VIA = fields in one time.=20 If you know how and where are all VIA fields, you can try to add five = (for your test) "store" action after the "INVITE" with the label = "line=3D"x"" in the regexp where x is the number of the line of the = message you search in: <store name=3D"MYVAR" entity=3D"via"> <regexp name=3D"viabranch" expr=3D"[Vv][Ii][Aa][ ]*:[ ]SIP/2.0/(UDP|TCP) = ([A-Za-z0-9.:_-]*)(;branch=3D(.*))*" nbexpr=3D"5" subexpr=3D"4" line=3D"1"> </regexp></store> =20 Then in the 180 and 200 messages, add four VIA lines: SIP/2.0 180 Ringing Via: SIP/2.0/UDP north.east.isi.edu Via: SIP/2.0/UDP north.east.isi.edu Via: SIP/2.0/UDP north.east.isi.edu Via: SIP/2.0/UDP north.east.isi.edu Via: SIP/2.0/UDP north.east.isi.edu From: Mark Handley <sip:mj...@is...> To: Eve Schooler <sip:sch...@ca...> ;tag=3D9883472 Call-ID: 296...@no... CSeq: 1 INVITE =20 And like the "store", in the "restore" actions regexp, add "line=3D"x"" = label. In this example, "line" will take value equals to "1" to "5" . =20 Thanks to keep us imform of the result of this. =20 Regards Bruno GUERIN=20 -----Message d'origine----- De : gul...@li... = [mailto:gul...@li...]De la part de Prakash = Urs T D Envoy=E9 : jeudi 19 avril 2007 10:35 =C0 : gul...@li... Objet : [Seagull-users] Problem with Seagull Framework for SIP protocol =20 Hi, =20 SIP call (dialog) is composed of multiple transactions and at each = server (proxy or serving) the transactions are tracked using transaction = Id (branch in VIA). =20 The current scenario of Seagull Traffic testing with FOKUS is as below: =20 Seagull Client ---- P-CSCF (originating) ---- S-CSCF (originating) = ----S-CSCF (terminating) --- P-CSCF (terminating) ----Seagull Server =20 When the INVITE message reaches Seagull server, there are 5 VIA fields = in that. These VIA headers need to be copied in 180 Ringing message so = that the message can be routed to client and the transactions are = matched at each server. Current support at Seagull allows copying the = content of only one header. It doesn't allow copying the content of 5 = VIA header values back to the 180 ringing, 200 OK messages, because of = which the transaction Id can't be copied to the responses. =20 Hence there is a retransmission happening from originating P-CSCF for = BYE message which the terminating P-CSCF rejects it as "403 Forbidden - = requests outside dialog". This is because the dialog is completed at = terminating P-CSCF as it received its transaction Id properly in 200 OK = response for the initial BYE (remember Seagull can copy first VIA = properly). =20 After sometime since the servers don't get matching final response for = their INVITE and BYE requests, "408 - server timeout" is happening that = is increasing the number of unexpected messages at Seagull client. =20 Is there any fix for this problem? It is well appreciated if any of the = Seagull developers comment on this problem. =20 Regards, Prakash Urs T D =20 Velankani Software Pvt. Ltd. 43, Electronics City, Phase - II,=20 Hosur Road, Bangalore - 560 100. India. =20 |