<p>Hi!</p>
<p>I am using FreeSwitch as sipPbx and Opensbc as sip proxy in some prototype, I want to register my FreeSwitch with my sip provider (that is gafachi) and request should go viya SipProxy(Opensbc). </p>
<p>My freeswitch settings are:</p>
<p>&lt;gateways&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;gateway name=&quot;gatway ip&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// account username *required* ///<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;username&quot; value=&quot;username&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// auth realm: *optional* same as gateway name, if blank ///
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--&lt;param name=&quot;realm&quot; value=&quot;gafachi&quot;/&gt;--&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;realm&quot; value=&quot;gafachi&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// account password *required* ///
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;password&quot; value=&quot;password&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// extension for inbound calls: *optional* same as username, if blank ///<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;extension&quot; value=&quot;username&quot;/&gt;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// proxy host: *optional* same as realm, if blank ///<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;proxy&quot; value=&quot;sip proxy ip&quot;/&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// expire in seconds: *optional* 3600, if blank ///<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name=&quot;expire-seconds&quot; value=&quot;600&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/gateway&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/gateways&gt;</p>

<p><br>As we know realm is the Ip address that goes with username and make request for example username is guest and realm <br>name is gafachi request will be <a href="mailto:guest@gafachi">guest@gafachi</a> and proxy is the ip address of sip proxy.
<br>When we set Geteway setting in freeswitch configuration file "freeswitch.xml"</p>
<p>We gave realm as gafachi ip address and proxy as opensbc machine address .</p>
<p>According to this, register request should to gafachi viya sip-proxy, but&nbsp; when we see this wireshark it add proxy ipaddress in register request instead of realm in sip message. As:</p>
<p>To:&lt;<a href="mailto:sip:a2541shRzJKLjtQA@192.168.96.113">sip:a2541shRzJKLjtQA@192.168.96.113</a>&gt;</p>
<p><br>So I debugged&nbsp; the source code of FreeSwitch and changed the code in :</p>
<p>mod_sofia.c&nbsp; and in config sofia() and chage as :</p>
<p>gateway-&gt;register_to = switch_core_sprintf(gateway-&gt;pool, &quot;sip:%s@%s&quot;, username, proxy); </p>
<p>To<br>gateway-&gt;register_to = switch_core_sprintf(gateway-&gt;pool, &quot;sip:%s@%s&quot;, username, realm); </p>
<p>&nbsp;</p>
<p>and its working fine and request go through proxy and secrate code captured by OpenSbc.</p>
<p>&nbsp;<br>Buit i think it is wrong to edit source code:</p>
<p>when I used Asterisk and give register request in sip.conf (Asterisk conf file) like</p>
<p>register=&gt;username@gafachi:password:username@opensbcip and everything seems working fine. </p>
<p>Also In this case it sends REGISTER sip:opensbcip (request uri) and <a href="mailto:username@opensbcip(To">username@opensbcip(To</a> uri) so in this case opensbc takes it as it is going to register with opensbc and doesn&#39;t forward the request to gafachi.
</p>
<p><br>I&#39;ll be thankful for any guidance on what&#39;s going wrong or should I set something else somewhere.<br>&nbsp;<br>Thanks in Advance!<br>&nbsp;<br>Regards,<br>Yogesh</p>