Registering Freeswitch with BusinessVoip

Here's how to register Freeswitch with BusinessVoip. This lets you receive incoming calls from BusinessVoip and route them to Prophecy, while at the same time gives you the flexibility to handle other incoming calls and make outgoing calls.

To start, I created a separate profile just for use with BusinessVoip:

<profile name="BusinessVoip">

I then created a gateway for BusinessVoip:

<gateways>
<gateway name="BusinessVoip">
<!-- /// account username *required* /// -->
<param name="username" value="my_username"/>
<!--/// auth realm: *optional* same as gateway name, if blank ///-->
<!--#set BusinessVoipServer=sip.businessvoip.com-->
<param name="realm" value="$${BusinessVoipServer}"/>
<!--/// account password *required* ///-->
<param name="password" value="my_password"/>
<!--/// replace the INVITE from user with the channel's caller-id ///-->
        <!--/// do not do that, because if you do, BusinessVoip will not recognize you for outbound calls -->
<param name="caller-id-in-from" value="false"/>
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<param name="extension" value=""/>
<!--/// proxy host: *optional* same as realm, if blank ///-->
<param name="proxy" value="$${BusinessVoipServer}"/>
<!--/// expire in seconds: *optional* 3600, if blank ///-->
<param name="expire-seconds" value="3600"/>
<!--/// False => do not register ///-->
<param name="register" value="true"/>
</gateway>
</gateways>

And then, since in the last "param" element I've asked to register Freeswitch as the place where BusinessVoip is to receive calls, I have to include a "registration" element:

<registration name="BusinessVoip">
<param name="register-scheme" value="Digest"/>
<param name="register-realm" value="BusinessVoip"/>
<param name="register-username" value="my_name"/>
<param name="register-password" value="my_password"/>
<param name="register-from" value="sip:my_name@my_IP_address:this_profile's_port"/>
<param name="register-to" value="sip:my_name@sip.businessvoip.com"/>
<param name="register-proxy" value="sip:sip.businessvoip.com"/>
<param name="register-frequency" value="20"/>
</registration>

Note that "my_sip_address" is the address behind behind the firewall.

Finally, the settings are:

<settings>
<param name="debug" value="1"/>
<param name="rfc2833-pt" value="101"/>
<param name="sip-port" value="this_profile's_port"/>
<param name="dialplan" value="enum,XML"/>
<param name="dtmf-duration" value="100"/>
<param name="codec-prefs" value="$${default_codecs}"/>
<param name="codec-ms" value="20"/>
<param name="use-rtp-timer" value="true"/>
<param name="rtp-timer-name" value="soft"/>
<param name="rtp-ip" value="auto"/>
<param name="sip-ip" value="auto"/>
<param name="nonce-ttl" value="60"/>
</settings>

In other words: tame, standard settings. Because of the way BusinessVoip operates, there doesn't seem to be a need for STUN.