[Devel] multiple replicated servers socket info read error

Raymond Chen rchen at broadz.com
Thu Dec 15 03:32:03 CET 2005


Hi Bogdan,

So we still can't solve the NAT binding problem in the current =
replicated
design? Any other solutions to this ?

Thanks

Ray

-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]=20
Sent: 2005=C4=EA12=D4=C215=C8=D5 5:26
To: Raymond Chen
Cc: devel at openser.org
Subject: Re: [Devel] multiple replicated servers socket info read error

Hi Ray,

I guess is a misunderstanding regarding the purpose of this sock_info:=20
the register saves information about the local socket on which the=20
REGISTER was received - it;s useful in multiple interfaces scenario,=20
when to perform proper nat traversal is essential to sent all request=20
from the same interface as register was received on. The NAT bind of the =

UA will be open to communicate only with that socket/interface.

regards,
bogdan

Raymond Chen wrote:

>Hi Bogdan,
>
>We have setup an environment where   UA 1 registered---->  openser 1
>replicate ---->  openser 2.  We want to use UA 2 which registered to
openser
>2 to call UA 1, there is no respond from UA 1, which means the invite
>message did not get through the UA1 router.  We can get through the =
router
>if UA 2 is registered to Openser 1.=20
>
>We thought we can get around the problem by replicate the openser 1
>sock_info to openser 2, so when UA 2 calls to UA1 through openser 2, it
will
>route back to openser 1 and in turn get pass the router and to UA 1.  I =
am
>not sure this is the right logic to solve the NAT issue though.
>
>Thanks
>
>Ray
>
>-----Original Message-----
>From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]=20
>Sent: 2005=C4=EA12=D4=C215=C8=D5 0:34
>To: Raymond Chen
>Cc: devel at openser.org
>Subject: Re: [Devel] multiple replicated servers socket info read error
>
>Hi Raymond,
>
>Raymond Chen wrote:
>
> =20
>
>>Hi Bogdan,
>>
>>My bad, I thought make install will overwrite the old modules. Now I=20
>>got the CVS compiled and installed. Old error message has gone away,=20
>>but another error occurs in debug:
>>
>>.....
>>
>>0(21224) grep_sock_info - checking if port 5060 matches port 5060
>>
>>0(21224) ERROR:registrar:get_sock_hdr: non-local socket=20
>><udp:xxx.xxx.xxx.xxx:5060>
>>
>>0(21224) parse_headers: flags=3D4000000
>>
>>0(21224) parse_headers: flags=3D80000
>>
>>....
>>
>>I thought the replicated proxy should store the remote sock_info and=20
>>should not return the as non-local socket. Correct me if I am wrong=20
>>about this replicate feature.
>>
>>   =20
>>
>here is more a matter of logic. If you replicate the sock_info (the=20
>socket the request was received on) to a server which doesn't use that=20
>socket, it's really useless - it will not be able to use it to send any =

>requests by using that socket.
>
>If you describe what you are trying to achieve, I will be able to=20
>understand better you scenario.
>
>regards,
>bogdan
>
> =20
>
>>Thanks
>>
>>Ray
>>
>>-----Original Message-----
>>From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]
>>Sent: 2005=C4=EA12=D4=C213=C8=D5 21:40
>>To: Raymond Chen
>>Cc: devel at openser.org
>>Subject: Re: [Devel] multiple replicated servers socket info read =
error
>>
>>Hi Raymond,
>>
>>the problem was fixed on CVS. Please give it a try.
>>
>>thanks for report,
>>
>>bogdan
>>
>>Bogdan-Andrei Iancu wrote:
>>
>>   =20
>>
>>>Hi Raymond,
>>>     =20
>>>
>>>I guess is not a config issue, but it might be the result of the
>>>     =20
>>>
>>>latest work on it - proto was added couple of days ago. Please post
>>>     =20
>>>
>>>the replicated request and I will take a look to see where is the
>>>     =20
>>>
>>>problem.
>>>     =20
>>>
>>>Regards,
>>>     =20
>>>
>>>Bogdan
>>>     =20
>>>
>>>Raymond Chen wrote:
>>>     =20
>>>
>>>>Dear all,
>>>>       =20
>>>>
>>>>We=A1=AFve setup a multiple replicated servers scenarios, openser 1
>>>>       =20
>>>>
>>>>replicate to openser 2.
>>>>       =20
>>>>
>>>>Openser 1:
>>>>       =20
>>>>
>>>>=A1=AD=A1=AD
>>>>       =20
>>>>
>>>>add_sock_hdr("Sock-Info");
>>>>       =20
>>>>
>>>>t_replicate(=A1=B0openser 2=A1=B1);
>>>>       =20
>>>>
>>>>=A1=AD=A1=AD.
>>>>       =20
>>>>
>>>>Openser 2:
>>>>       =20
>>>>
>>>>=A1=AD=A1=AD.
>>>>       =20
>>>>
>>>>modparam("registrar", "sock_flag", 18)
>>>>       =20
>>>>
>>>>modparam("registrar", "sock_hdr_name", "Sock-Info")
>>>>       =20
>>>>
>>>>=A1=AD=A1=AD
>>>>       =20
>>>>
>>>>setflag(18);
>>>>       =20
>>>>
>>>>=A1=AD=A1=AD=A1=AD
>>>>       =20
>>>>
>>>>We are expecting the socket info will be stored by register instead
>>>>       =20
>>>>
>>>>of the received socket info. But from debug we have the following
>>>>       =20
>>>>
>>>>error message.
>>>>       =20
>>>>
>>>>0(2599) ERROR: parse_phostport: bad port number in
>>>>       =20
>>>>
>>>>udp:xxx.xxx.xxxx.xxx:5060
>>>>       =20
>>>>
>>>>0(2599) ERROR:registrar:get_sock_hdr: bad socket
>>>>       =20
>>>>
>>>><udp:xxx.xxx.xxx.xxx:5060> in
>>>>       =20
>>>>
>>>>0(2599) parse_headers: flags=3D4000000
>>>>       =20
>>>>
>>>>0(2599) build_contact(): Created Contact HF: Contact:
>>>>       =20
>>>>
>>>><sip:001916123123123 at xxx.xxx.xxx.xxx:51018>;expires=3D300
>>>>       =20
>>>>
>>>>Any idea? Is it the configuration we did was wrong?
>>>>       =20
>>>>
>>>>Thanks
>>>>       =20
>>>>
>>>>Ray
>>>>       =20
>>>>
>>>>---------------------------------------------------------------------=
---
>>>>       =20
>>>>
>>>>_______________________________________________
>>>>       =20
>>>>
>>>>Devel mailing list
>>>>       =20
>>>>
>>>>Devel at openser.org
>>>>       =20
>>>>
>>>>http://openser.org/cgi-bin/mailman/listinfo/devel
>>>>       =20
>>>>
>>>_______________________________________________
>>>     =20
>>>
>>>Devel mailing list
>>>     =20
>>>
>>>Devel at openser.org
>>>     =20
>>>
>>>http://openser.org/cgi-bin/mailman/listinfo/devel
>>>     =20
>>>
>
>
>
>
>
> =20
>







More information about the Devel mailing list