At 12:43 AM 10/31/2003, Jim Burwell wrote:
OK. I think I understand.
Since the SIP request is injected straight into SER via the t_uac_dlg() FIFO command, I had presumed the request would get dumped into the route[0] block like any other request coming into SER from a UDP port. If this were the case I'd expect the normal "if(uri == myself)" type checks to catch the request and do the appropriate thing. But if I follow your reply, this isn't the case.
If I understand what you say correctly, the t_uac_dlg() command works just like some UAC out on the network, and needs to have the IP address of its proxy either hard coded, or resolvable via some means (hosts file, DNS). Once this resolved, it sends the request to SER via networking calls and normal processing ensues. Is this correct ?
A UAC does not need to use any proxy. If request uri contains sip:joe@foo.bar, foo.bar gets resolved via DNS and SER sends there. If r-uri contains IP address, the request gets sent there. If the domain name refers to the same host, the request will loop through your server.
If this is all true, then it means that for the current SERweb CTD functionality to work, you need a host file or DNS entry for all SIP domains served by your SER server, since SERweb delivers the dummy INVITE URI in the sip:name@domain"sip:name@domain" form instead of sip:name@ip"sip:name@ip" form. Is this all correct ?
the UAC does not care if the domain is served by SER or not. It just sends to the address in request-uri. If it includes an invalid DNS name, the request will fail.
Presuming the above is correct, one problem I can see with this requirement is that in some instances, it may be impossible for someone to add the DNS SRV entries (no access to DNS server, for instance), and impractical to add /etc/hosts aliases for the SIP domain, since doing so could possibly break other things in the system, such as email routing on that host (I think sendmail, etc would assume that the machine was the mail server for that domain if such an alias existed). In this sort of situation, the user might want to hard code the IP address of the SIP proxy to contact, much as you do when you configure SIP phones.
you don't need to manipulate DNS maps for c-t-d. Just send invitations to existing valid DNS domains, be it one you server or some completely other one.
-jiri