<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Sep 20, 2014 at 1:35 PM, Joshua Colp <span dir="ltr"><<a href="mailto:jcolp@digium.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jcolp@digium.com&cc=&bcc=&su=&body=','_blank','location=yes,menubar=yes,resizable=yes,width=800,height=600');return false;">jcolp@digium.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">George Joseph wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
On Sat, Sep 20, 2014 at 1:10 PM, Joshua Colp <<a href="mailto:jcolp@digium.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jcolp@digium.com&cc=&bcc=&su=&body=','_blank','location=yes,menubar=yes,resizable=yes,width=800,height=600');return false;">jcolp@digium.com</a><br>
<mailto:<a href="mailto:jcolp@digium.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jcolp@digium.com&cc=&bcc=&su=&body=','_blank','location=yes,menubar=yes,resizable=yes,width=800,height=600');return false;">jcolp@digium.com</a>>> wrote:<br>
<br>
    George Joseph wrote:<br>
<br>
    <snip><br>
<br>
<br>
        Or separate objects from a config file perspective but<br>
        implemented in<br>
        pjsip_configuration with endpoint.<br>
<br>
<br>
    Completely separate. Mixing the two defeats the purpose of having a<br>
    clear boundary.<br>
<br>
Ok, how about this...   2 new object types called "composite" and<br>
"pattern" (or whatever) implemented in a separate res_pjsip_* module<br>
<br>
[mytrunk]<br>
type = composite<br>
pattern = trunk<br>
etc...<br>
<br>
[trunk]<br>
type = pattern<br>
register = yes<br>
contacts = static<br>
outbound_auth = yes<br>
inbound_auth = no<br>
identify = yes<br>
<br>
</blockquote>
<br>
I don't understand the naming or what they mean at first glance ^_^<span class=""><font color="#888888"><br>
<br>
</font></span></blockquote><div>I was thinking that we probably don't want to create hard coded objects called "trunk", "user", etc.  Instead let the user define the patterns that suit them.  </div><div><br></div><div>So, define a pattern first...</div><div><br></div><div><font face="courier new, monospace" size="1">[trunk-pattern]<br>type = pattern<br>contacts = static   ; would cause a contact line to appear in the aor</font></div><div><font face="courier new, monospace" size="1">                    ; for each server<br>register = yes      ; would cause a registration object to be created for each</font></div><div><font size="1" face="courier new, monospace">                    ; server<br>outbound_auth = yes ; would cause an auth object to be created which the</font></div><div><font face="courier new, monospace" size="1">                    ; endpoint would reference as outbound_auth<br>inbound_auth = no   ; would do the same thing for endpoint/auth<br>identify = yes      ; would cause an identify object to be created with a <br></font></div><div><font size="1" face="courier new, monospace">                    ; match for each server</font></div><div><font size="1" face="courier new, monospace">Actually, the pattern could specify how to construct other variables...</font></div><div><font size="1" face="courier new, monospace">client_uri = sip:%OU@%S</font></div><div><font size="1" face="courier new, monospace">contact = sip:%S</font></div><div><div><font size="1" face="courier new, monospace">server_uri = sip:%S</font></div></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">Now for each trunk...</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[mytrunk]</font></div><div><font size="1" face="courier new, monospace">type = composite</font></div><div><font size="1" face="courier new, monospace">pattern = trunk-pattern</font></div><div><font size="1" face="courier new, monospace">server = <a href="http://sip1.itsp.com">sip1.itsp.com</a></font></div><div><div><font size="1" face="courier new, monospace">server = <a href="http://sip2.itsp.com">sip2.itsp.com</a></font></div></div><div><span style="font-family:'courier new',monospace;font-size:x-small">outbound_username = myusername</span><br></div><div><font size="1" face="courier new, monospace">outbound_password = mypassword</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">would be the equivalent of...</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[mytrunk]</font></div><div><font size="1" face="courier new, monospace">type = endpoint</font></div><div><font size="1" face="courier new, monospace">aors = mytrunk</font></div><div><font size="1" face="courier new, monospace">outbound_auth = mytrunk-auth</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[mytrunk]</font></div><div><font size="1" face="courier new, monospace">type = aor</font></div><div><div><font size="1" face="courier new, monospace">contact = sip:<a href="http://sip1.itsp.com">sip1.itsp.com</a></font></div><div><font size="1" face="courier new, monospace">contact = sip:<a href="http://sip2.itsp.com">sip2.itsp.com</a></font></div></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[mytrunk-auth]</font></div><div><font size="1" face="courier new, monospace">type = auth</font></div><div><div><font size="1" face="courier new, monospace">username = myusername</font></div><div><font size="1" face="courier new, monospace">password = mypassword</font></div></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[mytrunk-id]</font></div><div><font size="1" face="courier new, monospace">type = identify</font></div><div><font size="1" face="courier new, monospace">endpoint = mytrunk</font></div><div><font size="1" face="courier new, monospace">match = <a href="http://sip1.itsp.com">sip1.itsp.com</a></font></div><div><font size="1" face="courier new, monospace">match = <a href="http://sip2.itsp.com">sip2.itsp.com</a></font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">[myrunk-reg-1]</font></div><div><font size="1" face="courier new, monospace">type = registration</font></div><div><font size="1" face="courier new, monospace">endpoint = mytrunk</font></div><div><font size="1" face="courier new, monospace">client_uri = <a href="mailto:sip%3Amyusername@sip1.itsp.com">sip:myusername@sip1.itsp.com</a></font></div><div><font face="courier new, monospace" size="1">server_uri = sip:</font><span style="font-family:'courier new',monospace;font-size:x-small"><a href="http://sip1.itsp.com">sip1.itsp.com</a></span></div><div><span style="font-family:'courier new',monospace;font-size:x-small"><br></span></div><div><div><font size="1" face="courier new, monospace">[myrunk-reg-2]</font></div><div><font size="1" face="courier new, monospace">type = registration</font></div><div><font size="1" face="courier new, monospace">endpoint = mytrunk</font></div><div><font size="1" face="courier new, monospace">client_uri = <a href="mailto:sip%3Amyusername@sip2.itsp.com">sip:myusername@sip2.itsp.com</a></font></div><div><font face="courier new, monospace" size="1">server_uri = sip:</font><span style="font-family:'courier new',monospace;font-size:x-small"><a href="http://sip2.itsp.com">sip2.itsp.com</a></span></div><div><span style="font-family:'courier new',monospace;font-size:x-small"><br></span></div></div><div><br></div></div></div></div>