[Devel] multiple replicated servers socket info read error

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Dec 14 22:25:57 CET 2005


Hi Ray,

I guess is a misunderstanding regarding the purpose of this sock_info: 
the register saves information about the local socket on which the 
REGISTER was received - it;s useful in multiple interfaces scenario, 
when to perform proper nat traversal is essential to sent all request 
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. 
>
>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] 
>Sent: 2005年12月15日 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:
>
>  
>
>>Hi Bogdan,
>>
>>My bad, I thought make install will overwrite the old modules. Now I 
>>got the CVS compiled and installed. Old error message has gone away, 
>>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 
>><udp:xxx.xxx.xxx.xxx:5060>
>>
>>0(21224) parse_headers: flags=4000000
>>
>>0(21224) parse_headers: flags=80000
>>
>>....
>>
>>I thought the replicated proxy should store the remote sock_info and 
>>should not return the as non-local socket. Correct me if I am wrong 
>>about this replicate feature.
>>
>>    
>>
>here is more a matter of logic. If you replicate the sock_info (the 
>socket the request was received on) to a server which doesn't use that 
>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 
>understand better you scenario.
>
>regards,
>bogdan
>
>  
>
>>Thanks
>>
>>Ray
>>
>>-----Original Message-----
>>From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]
>>Sent: 2005年12月13日 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:
>>
>>    
>>
>>>Hi Raymond,
>>>      
>>>
>>>I guess is not a config issue, but it might be the result of the
>>>      
>>>
>>>latest work on it - proto was added couple of days ago. Please post
>>>      
>>>
>>>the replicated request and I will take a look to see where is the
>>>      
>>>
>>>problem.
>>>      
>>>
>>>Regards,
>>>      
>>>
>>>Bogdan
>>>      
>>>
>>>Raymond Chen wrote:
>>>      
>>>
>>>>Dear all,
>>>>        
>>>>
>>>>We’ve setup a multiple replicated servers scenarios, openser 1
>>>>        
>>>>
>>>>replicate to openser 2.
>>>>        
>>>>
>>>>Openser 1:
>>>>        
>>>>
>>>>……
>>>>        
>>>>
>>>>add_sock_hdr("Sock-Info");
>>>>        
>>>>
>>>>t_replicate(“openser 2”);
>>>>        
>>>>
>>>>…….
>>>>        
>>>>
>>>>Openser 2:
>>>>        
>>>>
>>>>…….
>>>>        
>>>>
>>>>modparam("registrar", "sock_flag", 18)
>>>>        
>>>>
>>>>modparam("registrar", "sock_hdr_name", "Sock-Info")
>>>>        
>>>>
>>>>……
>>>>        
>>>>
>>>>setflag(18);
>>>>        
>>>>
>>>>………
>>>>        
>>>>
>>>>We are expecting the socket info will be stored by register instead
>>>>        
>>>>
>>>>of the received socket info. But from debug we have the following
>>>>        
>>>>
>>>>error message.
>>>>        
>>>>
>>>>0(2599) ERROR: parse_phostport: bad port number in
>>>>        
>>>>
>>>>udp:xxx.xxx.xxxx.xxx:5060
>>>>        
>>>>
>>>>0(2599) ERROR:registrar:get_sock_hdr: bad socket
>>>>        
>>>>
>>>><udp:xxx.xxx.xxx.xxx:5060> in
>>>>        
>>>>
>>>>0(2599) parse_headers: flags=4000000
>>>>        
>>>>
>>>>0(2599) build_contact(): Created Contact HF: Contact:
>>>>        
>>>>
>>>><sip:001916123123123 at xxx.xxx.xxx.xxx:51018>;expires=300
>>>>        
>>>>
>>>>Any idea? Is it the configuration we did was wrong?
>>>>        
>>>>
>>>>Thanks
>>>>        
>>>>
>>>>Ray
>>>>        
>>>>
>>>>------------------------------------------------------------------------
>>>>        
>>>>
>>>>_______________________________________________
>>>>        
>>>>
>>>>Devel mailing list
>>>>        
>>>>
>>>>Devel at openser.org
>>>>        
>>>>
>>>>http://openser.org/cgi-bin/mailman/listinfo/devel
>>>>        
>>>>
>>>_______________________________________________
>>>      
>>>
>>>Devel mailing list
>>>      
>>>
>>>Devel at openser.org
>>>      
>>>
>>>http://openser.org/cgi-bin/mailman/listinfo/devel
>>>      
>>>
>
>
>
>
>
>  
>




More information about the Devel mailing list