[Serusers] sip-communicator

Eduard San Anselmo Mateu esananselmo at albasoft.com
Wed Mar 3 12:37:21 CET 2004


Thanks for your help, Klaus.

The thing is that sip-communicator indeed realises it is registered for a few
seconds, and the it thinks it's unregistered again, and that's what upsets me,
because it tries to re-register again.

What I was trying to know is if someone has experienced similar problems with
sip-communicator, or if it is only me who's doing something wrong. You know, SER
seems to be working fine: it gets a REGISTER request, and it responds with an OK
(but it shouldn't be getting a second one from the same source!!!).

Again, tahnks for your help (and patience).


Mensaje citado por Klaus Darilion <klaus.mailinglists at pernau.at>:

> The 200 OK to the REGISTER must have as many Contacts as currently 
> registered at the proxy. So if you register and restart the client 
> (without de-register), there will be 2 bindings (2 contacts) - the new 
> one and the old. The old one will expires after some time as it will not 
> be renewed.
> 
> klaus
> 
> Eduard San Anselmo Mateu wrote:
> 
> > Hello everyone.
> > 
> > I'm testing SER with some different clients, to see which one fits our
> needs
> > better. The last one we tried was sip-communicator (java softphone), but
> I'm
> > experiencing some problems with it. At first, everything seems to work
> well, but
> > after a few seconds, the client says it's unregistered (when that's not
> true).
> > Another issue is that when SER returns the 200 OK response to the REGISTER
> > request, it has three different Contact headers, with different port
> numbers.
> > The config file is this one: 
> > 
> > listen=192.168.0.15
> > alias=albasoft.com
> > alias=albasoft.com:5060
> > alias=192.168.0.15
> > #alias=192.168.20.15
> > #alias=192.168.20.15:*
> >                                                                            
>    
> >                                             
> > #alias=192.168.20.15
> >                                                                            
>    
> >                                             
> > # ------------------ module loading ----------------------------------
> >                                                                            
>    
> >                                             
> > # Uncomment this if you want to use SQL database
> > loadmodule "/usr/lib/ser/modules/mysql.so"
> >                                                                            
>    
> >                                             
> > loadmodule "/usr/lib/ser/modules/sl.so"
> > loadmodule "/usr/lib/ser/modules/tm.so"
> > loadmodule "/usr/lib/ser/modules/rr.so"
> > loadmodule "/usr/lib/ser/modules/maxfwd.so"
> > loadmodule "/usr/lib/ser/modules/usrloc.so"
> > loadmodule "/usr/lib/ser/modules/registrar.so"
> > loadmodule "/usr/lib/ser/modules/textops.so"
> > loadmodule "/usr/lib/ser/modules/nathelper.so"
> > 
> > modparam("usrloc", "db_mode", 2)
> > modparam("rr", "enable_full_lr", 1)
> > 
> > route{
> >                                                                            
>    
> >                                             
> >         # initial sanity checks -- messages with
> >         # max_forwards==0, or excessively long requests
> >         if (!mf_process_maxfwd_header("10")) {
> >                 sl_send_reply("483","Too Many Hops");
> >                 break;
> >         };
> >         if (msg:len >=  max_len ) {
> >                 sl_send_reply("513", "Message too big");
> >                 break;
> >         };
> >                                                                            
>    
> >                                             
> >         if (loose_route()) {
> >                 # mark routing logic in request
> >                 append_hf("P-hint: rr-enforced\r\n");
> >                 route(1);
> >                 break;
> >         };
> >                                                                            
>    
> >                                             
> >         if (!uri==myself) {
> >                 # mark routing logic in request
> >                 append_hf("P-hint: outbound\r\n");
> >                 route(1);
> >                 break;
> >         };
> >                                                                            
>    
> >                                             
> >         # if the request is for other domain use UsrLoc
> >         # (in case, it does not work, use the following command
> >         # with proper names and addresses in it)
> >         if (uri==myself) {
> >                                                                            
>    
> >                                             
> >                 if (method=="REGISTER") {
> >                                                                            
>    
> >                                             
> > # Uncomment this if you want to use digest authentication
> > #                       if (!www_authorize("iptel.org", "subscriber")) {
> > #                               www_challenge("iptel.org", "0");
> > #                               break;
> > #                       };
> >                         force_rport();
> >                         save("location");
> >                         break;
> >                 };
> >                                                                            
>    
> >                                             
> >                 lookup("aliases");
> >                 if (!uri==myself) {
> >                         append_hf("P-hint: outbound alias\r\n");
> >                         route(1);
> >                         break;
> >                 };
> >                                                                            
>    
> >                                             
> >                 # native SIP destinations are handled using our USRLOC DB
> >                 if (!lookup("location")) {
> >                         sl_send_reply("404", "Not Found");
> >                         break;
> >                 };
> >                 if (method=="INVITE" && !uri=~"sip:.*@192\.168\.0\..*") {
> >                         log(1,"IEEE: la peticio va cap a fora\n");
> >                         #fix_nated_sdp("1");
> >                         #force_rtp_proxy();
> >                         #t_on_reply("1");
> >                 };
> >         };
> >         append_hf("P-hint: usrloc applied\r\n");
> >         route(1);
> > }
> >                                                                            
>    
> >                                             
> > route[1]
> > {
> >         # send it out now; use stateful forwarding as it works reliably
> >         # even for UDP2TCP
> >         if (!t_relay()) {
> >                 sl_reply_error();
> >         };
> > }
> > 
> > onreply_route[1] {
> >     if (status =~ "(183)|2[0-9][0-9]") {
> >         if (!src_ip=~"192\.168\.0.\.*") {
> >                 log(1,"onreply_route si que funciona\n");
> >                 #force_rtp_proxy();
> >         };
> >     };
> > }
> >                                                                            
>    
> >                                             
> > By the way, sip-communicator doesn't seem to be symmetric: the clients
> works on
> > a random port, and the server, on 5060 (configurable), and those different
> > Contact headres I've explained, are for 5060, and the three ports following
> the
> > one sip-communicator has made the request from (for example, 1066, 1067,
> 1068).
> > 
> > Thanks in advance.
> > 
> > Eduard San Anselmo
> > 
> > _______________________________________________
> > Serusers mailing list
> > serusers at lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> > 
> > 
> 


Eduard San Anselmo




More information about the sr-users mailing list