<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='color:#1F497D'>Hello again,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>I just wanted to mention that
obviously if I were to add:<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>If( $rd =~ ‘192.168.1.1|domain.com’
) {<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> $rd = “domain.com”;<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Just before I do the lookup() it
works.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>However, I am not sure if this
is the correct way to do so.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Regards,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Paris<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
users-bounces@lists.opensips.org [mailto:users-bounces@lists.opensips.org] <b>On
Behalf Of </b>Paris Stamatopoulos<br>
<b>Sent:</b> Friday, April 09, 2010 1:14 PM<br>
<b>To:</b> users@lists.opensips.org<br>
<b>Subject:</b> [OpenSIPS-Users] Multi-domain issues<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Hello everyone,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I am having a problem with multi-domain support on OpenSIPS.
I’ve enabled it everywhere as mentioned on the documentation. I have created an
SRV record for my domain say, ‘domain.com’ and added ‘domain.com’ on the domain
table in the database. As long as the user registers at ‘domain.com’ everything
works. If the user tries to register directly to the IP say ‘192.168.1.1’ the
registration fails.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I thought that the auto_aliases should make ‘192.168.1.1’ an
alias of ‘domain.com’ thus serving requests arriving to that domain as well.
However from what I’ve seen so far the alias=, auto_aliases=yes
directives does not have any effect. I’ve also tried adding the 192.168.1.1 and
domain.com as domains in the database, however I realized that subscriber table
could only use one domain at a time (so making it impossible to register both
at 192.168.1.1 and domain.com)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>In order to bypass this I changed my configuration in a
couple of points to change the domain accordingly like:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>if( $rd =~ "192.168.1.1|domain.com" ) {<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>if(
!www_authorize("domain.com", "subscriber") ) {<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>www_challenge("domain.com",
"0");<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>exit;<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in'>}<o:p></o:p></p>
<p class=MsoNormal>} else {<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>if( !www_authorize("",
"subscriber") ) {<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>www_challenge("",
"0");<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>exit;<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>}<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Same concept in proxy_authenticate() portion of the
configuration.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Now a new issue occurred. All calls arriving to
OpenSIPS come from an asterisk server which has a peer configured with
host=192.168.1.1 while asterisk runs at 192.168.1.2. When the call arrives it
goes through the usrloc module to verify if the user is registered as such:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>if (!lookup("location","m")) {<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>switch ($retcode) {<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>case -1:<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>case -3:<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'>t_newtran();<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'>t_reply("404",
"Not Found");<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'>exit;<o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'>case -2:<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'>sl_send_reply("405",
"Method Not Allowed");<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'>exit;<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>}<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>However, if a user is registered at `domain.com` because
asterisk sends the INVITE as <a href="mailto:user@192.168.1.1">user@192.168.1.1</a>
the lookup fails and OpenSIPS returns 404. <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I am pretty sure I am doing something wrong. Could someone
please give me a clue on how to solve this predicament?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Regards,<o:p></o:p></p>
<p class=MsoNormal>Paris<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>