(I am actually using Sipnet and Zadarma on my FreeSWITCH server)
Sipnet.ru allows you to forward all incoming calls to a SIP URI. Also it allows creating sub-accounts. So, you create as many sub-accounts as you need, and set the forwarding of all calls to some unique URI, like vasya-pupkin@yourdomain.com
Then in your FreeSWITCH configuration, you create a new public extension:
File: conf/dialplan/public/50_users.xml
<include>
<extension name="pub_vasya-pupkin">
<condition field="destination_number" expression="^vasya-pupkin$">
<action application="transfer" data="1007 XML default"/>
</condition>
</extension>
so all calls to vasya-pupkin@yourdomain.com will be transferred to 1007 internal extension.
Fother SIP provider which don;t support forwarding (zadarma.com, for example), you create a SIP profile and use "extension" parameter to specify which extension in your public profile should be used:
File: conf/sip_profiles/external/zadarma.xml
<gateway name="zadarma_59555">
<param name="username" value="59555"/>
<param name="password" value="*******"/>
<param name="extension" value="vasya-pupkin"/>
<param name="expire-seconds" value="125"/>
<param name="register" value="true"/>
<param name="register-transport" value="udp"/>
<param name="proxy" value="sip.zadarma.com"/>
<param name="retry-seconds" value="30"/>
<param name="caller-id-in-from" value="false"/>
<param name="ping" value="27"/>
</gateway>
I've got some more practical examples in my blog, just in case.
conference_set_auto_outcall
in mod_conference
is doing exactly that -- it sets the destination endpoints which will be called out as soon as the conference starts.
Use these flags to make sure the calling device can terminate the call and rest of the agents are silent:
<action application="set" data="conference_auto_outcall_flags=mute"/>
...
<action application="conference" data="public_address@default++flags{endconf|moderator}"/>
Best Answer
Finally found the cause of the issue. A bug in FreeSwitch.
SIP Profiles
There are three sip profiles under the normal installation:
For this particular case, internal.xml was the culprit but I am pretty sure that the problem will be the same for the other files, as well.
Why Extensions are Not Registering?
There are three sections in the internal.xml file, namely
looking at which, we find two aliases:
FreeSwitch parsed both values as "127.0.0.1".
Solution
I was able to solve the problem by not letting FreeSwitch decide the values for me.