Dear SIP-experts and DNS-SRV gurus;

I have some questions to the deployers of SER/Kamailio and
best current practice for multiple SIP-servers with SRV-records
and authentication. This is not a question about Kamailio itself
but rather experience with deployment of it in the field.


The current usecase is:

1. Multiple SIP-servers are deployed for the same domain

2. The DNS is configured with SRV-records for load balancing,
   example: (lets call the domain "example.com")

   $ host -t SRV _sip._udp.example.com
   _sip._udp.example.com has SRV record 20 0 5080 alpha1.example.com.
   _sip._udp.example.com has SRV record 20 0 5080 alpha2.example.com.

3. when a SIP client registers, it resolves the domain using RFC3263 [1]
   and the first REGISTER request is sent to SIP-Server #1

4. SIP-server #1 replies with 401 containing the authentication challenge

5. The SIP Client adds the authentication header to the REGISTER
   request and re-sends it, but this time also using RFC 3263, and due
   to DNS rotation the request is sent to SIP-Server #2

6. Now, because the SIP-Servers are configured with _different_
   secrets in the "auth" module [2], the REGISTER request
   fails with authentication error.



Now, I know that it is common for SIP user-agents to send both requests
to the same SIP-server instance. Baresip [3] is not doing that, it does
a new RFC 3263 lookup for all requests (except e2e ACK/CANCEL).


so here are my questions:

- What is common practice in the field, to configure auth module
  with the same "secret" or different "secret" values?

- Do you know if there is any reference to IETF documents about how
  this should be handled? RFC 3263 says that every request should be
  resolved, except:

  "The procedures here MUST be done exactly once per transaction, where
   transaction is as defined in [1].  That is, once a SIP server has
   successfully been contacted (success is defined below), all
   retransmissions of the SIP request and the ACK for non-2xx SIP
   responses to INVITE MUST be sent to the same host.  Furthermore, a
   CANCEL for a particular SIP request MUST be sent to the same SIP
   server that the SIP request was delivered to."

- What is common practice for SIP user-agents to do in this case?






/alfred

[1] https://tools.ietf.org/html/rfc3263#section-4.4

[2] http://www.kamailio.org/docs/modules/3.4.x/modules/auth.html#auth.secret

[3] https://github.com/alfredh/baresip/issues/39



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to