[Serusers] Problem with REGISTER in cvs version.

Jan Janak jan at iptel.org
Thu May 6 15:07:43 CEST 2004


Comments inline.

On 04-05 17:14, Luis Vazquez wrote:
> I'm trying to register and call a SIP phone from behind NAT. I get it to 
> register correctly (with the Contact field fixed) but when I try to call 
> it, the lookup("location")
> fails and I get a 
>
> The ngrep SIP log for the register sequence is:
> U 200.59.203.75:61503 -> 200.59.203.76:5060
>  REGISTER sip:200.59.203.76 SIP/2.0..Via: SIP/2.0/UDP 
>  192.168.10.188:5062;branch=z9hG4bK975f3a4817e63645
>  ..From: "Grandstream 1" 
>  <sip:gstream1 at 200.59.203.76>;tag=f001e96a008a26a5..To: 
>  <sip:gstream1 at 200.59.203
>  .76>..Contact: <sip:gstream1 at 192.168.10.188:5062>..Call-ID: 
>  0776eb9b4143e102 at 192.168.10.188..CSeq: 102 REGISTER..Expires: 
>  3600..User-Agent: Grandstream BT100 1.0.4.55..Max-Forwards: 70..Allow: 
>  INVITE,ACK,CA
>  NCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE..Content-Length: 0....        
> #
> U 200.59.203.76:5060 -> 200.59.203.75:61503
>  SIP/2.0 200 OK..Via: SIP/2.0/UDP 
>  192.168.10.188:5062;branch=z9hG4bK975f3a4817e63645;rport=61503;receive
>  d=200.59.203.75..From: "Grandstream 1" 
>  <sip:gstream1 at 200.59.203.76>;tag=f001e96a008a26a5..To: <sip:gstr
>  eam1 at 200.59.203.76>;tag=b27e1a1d33761e85846fc98f5f3a7e58.ce3d..Call-ID: 
>  0776eb9b4143e102 at 192.168.10.188
>  ..CSeq: 102 REGISTER..Contact: 
>  <sip:gstream1 at 200.59.203.75:61503<>;q=0;expires=3600..Server: Sip EXpres
>  s router (0.8.13-dev-28 (i386/linux))..Content-Length: 0.... 
> 
> Everything seems Ok, but here begins the problems.

  The contact is malformed -- this bug has already been fixed by Bogdan.

> If I go to the command line and type:
> # serctl ul show gstream1
> I get:
> 404 Username gstream1 at ipcontact.com.uy in table location not found
> 
> But if I type:
> # serctl ul show 
> Among many other lines I get:
> .....
> ...Record(0x402f46e0)...
> domain: 'location'
> aor   : 'gstream1 at 200.59.203.76'
> ~~~Contact(0x402f47c0)~~~
> domain : 'location'
> aor    : 'gstream1 at 200.59.203.76'
> Contact: 'sip:gstream1 at 200.59.203.75:61503'
> Expires: 3083
> q      : 0
> Call-ID: '0776eb9b4143e102 at 192.168.10.188'
> CSeq   : 102
> replic : 0
> State  : CS_SYNC
> Flags  : 1
> next   : (nil)
> prev   : (nil)
> ~~~/Contact~~~~
> .../Record...
> .............
> 
> It seems to my like ser is not matching the domain part properly.

  Yes, unstable branch is work in progress, 200.59.203.76 means a
  different domain to ser than ipcontact.com.uy. This is not correct and
  causes troubles sometimes. A quick solution is to use hostname in
  the domain part.

> On the other side, the record in the mysql location table is:
> 
> username             | domain | contact                        | expires    
> | q      | ....
> gstream1 at 200.59.203.76 |    | sip:gstream1 at 200.59.203.75:61503 | 2004-05-04 
> 17:20:32 | -1082130.38|...
> 
> As you see 'domain' field is empty. Could be this the problem? 

  That's because use_domain parameters are set to 0, set it to 1.

> Anyway If I register from Kphone (user luis) running in the same machine as 
> SER, 'domain' is empty again
> luis at ipcontact.com.uy |    
> |sip:luis at 200.59.203.76:5062;transport=udp|2004-05-04 
> 16:57:46|1148846.12|...
> and
> # serctl url show luis 
> fails too, however I'am able to call this user  "luis at ipcontact.com.uy" but 
> not "gstream1 at ipcontact.com.uy". 
> The problem here seems to be gstream1 is registered using the ser server's 
> IP number and not the domain "ipcontact.com.uy", but shouldn't be this 
> handled automagicaly by SER.

  Yes, it should, it's work in progress.
 
    Jan.




More information about the sr-users mailing list