[asterisk-dev] RFT: Expanded DNS SRV handling in Asterisk 1.4

John Todd jtodd at loligo.com
Thu Oct 25 14:52:12 CDT 2007


At 9:59 AM +0200 2007/10/25, Olle E Johansson wrote:
>
>I am afraid that we're going to sacrifice the "multiprotocol" aspect 
>of Asterisk if we put DNS support in the dial plan. You have to be 
>able to say "call this URI, use these SIP servers for the call, time 
>out a transaction with this time"
>
>Which is a very SIP-specific thing to do. We will have to implement 
>a sip-dial() function in the dialplan with these specific arguments 
>to get it right and let other people use the multiprotocol dial as 
>before.

I would just say that the Dial option should stay as it is, but 
pre-parse what actually gets handed in to Dial as the SIP portion of 
the string.  (I wouldn't object to a manual manipulation of the 
timers for call signalling failure, though, so I can abort INVITEs 
that fail in strange ways.)

>And doing this just because some people have broken SRV records 
>doesn't really indicate to me a good reason to have a broken SRV 
>implementation in  Asterisk.

I don't understand how I was suggesting a "broken SRV implementation" 
by allowing SRV lists to be detected in the dialplan.

>   I like the comparision to broken MX records. If they don't want to 
>receive calls and don't listen when you mail their sipmaster, well 
>then. It's like forgetting to configure your MSN/DIDs when 
>configuring ISDN. Broken.

That may be a nice thing to say as a theoretical construct, but an 
explanation for calls failing (especially to the same place, all the 
time) as being "someone else's fault" doesn't go over particularly 
well when there are easily-discovered ways of making it work. 
Behavior trumps theory.

>Kevin's code is a very good first step. Now we need to fix the SIP 
>channel so that we cache these records, stay on the choosen record 
>until it breaks,  then pick the next one until that breaks and so on.

I'm not sure how this agrees with your dismissal ("well then") of 
people with broken SIP endpoints one paragraph above.

I agree with you that they should be cached and used in the way the 
RFC specifies.  I might even agree with it being done as an 
"automatic" option inside of Dial when a SIP endpoint is specified. 
However, when the automatic pilot won't let go of the controls as we 
repeatedly fly into the mountain is when I have a problem.  It would 
be nice to be able to look up SRV records (and store their results) 
without having to resort to (gah!) a System call or an AGI.

JT



More information about the asterisk-dev mailing list