[Users] Route-header DNS lookup?

Kerker Staffan staffan.kerker at saabgroup.com
Thu Jul 6 14:37:01 CEST 2006

i recently bounced into this problem, and i'm not sure here. 
i'm running the openser-devel, with the cacheless db_mode=3. (works fine btw)

the record-route header received by the proxy on the other side (SNOM4S), inserts
the domain name (iptel1.ipatl.se) and not the hostname (sip.iptel1.ipatl.se) in the 
record-route header, and uses the maddr=<ip_of_server> with the actual server IP address.

now, when my client (behind the OpenSER) replies with an ACK to the incomming OK, 
it uses the Route-header recieved in the RR-header, and sends the ACK to OpenSER. i 
then get the following errors in OpenSER. 

/usr/local/sbin/openser[3583]: ERROR: mk_proxy: could not resolve hostname: "iptel1.ipatl.se"
/usr/local/sbin/openser[3583]: ERROR: uri2proxy: bad host name in URI <sip:4ffec4ce755c218a72228c6643cb3b6b at iptel1.ipatl.se:5060;maddr=;transport=udp;lr>

the ACK i sent look like this:

Request-Line: ACK sip:2307 at iptel1.ipatl.se;gruu=6fg9n6dl SIP/2.0
      Via: SIP/2.0/UDP;branch=z9hG4bK-d96b1fvapkyn;rport
      Route: <sip:;lr=on;ftag=li9buf1i4p>
      Route: <sip:4ffec4ce755c218a72228c6643cb3b6b at iptel1.ipatl.se:5060;maddr=;transport=udp;lr>
      From: "Snom 2652" <sip:2652 at ipatl.se>;tag=li9buf1i4p
      To: <sip:2307 at ipatl.se>;tag=hvseiz7kgb
      Call-ID: 3c269d83900b-xj3ild14y880 at snom360
      CSeq: 1 ACK
      Max-Forwards: 70
      Contact: <sip:2652 at;line=cp4a7ljd>
      Content-Length: 0

as far as i understand, according the rfc 3263, the route-header may contain domain name that
has to be resolved using SRV.

"6 Constructing SIP URIs

   In many cases, an element needs to construct a SIP URI for inclusion
   in a Contact header in a REGISTER, or in a Record-Route header in an
   INVITE.  According to RFC 3261 [1], these URIs have to have the
   property that they resolve to the specific element that inserted
   them.  However, if they are constructed with just an IP address, for


   then should the element fail, there is no way to route the request or
   response through a backup.

   SRV provides a way to fix this.  Instead of using an IP address, a
   domain name that resolves to an SRV record can be used:


now, OpenSER only asks DNS for an A record of the name recieved in the route header,
and since that's a domain name, it's unresolvable, and so the ACK is never sent. 

any hints or clues? 

best regards,
/Staffan Kerker

Staffan Kerker
Saab Communications, Växjö
p. +46 470 42185
c. +46 705 391365
m. staffan.kerker at saabgroup.com

More information about the Users mailing list