Zadarma.com provides free access to their DID gateways around Russia and rest of the world. After registration, you get a 5-digit user ID and a password to register on their SIP gateways.
In incoming calls the original Caller ID is lost, so we get some garbage in the From: header, and our own user ID in To:.
Add a new file (conf/sip_profiles/external/zadarma.xml) with your SIP account details:
<include>
<gateway name="zadarma">
<param name="username" value="XXXXX"/>
<param name="password" value="XXXXXXXXX"/>
<param name="extension" value="attendant"/>
<param name="expire-seconds" value="120"/>
<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="25"/>
</gateway>
</include>
Here “attendant” is a valid extension in my public profile. It directs the call to the automatic attendant IVR menu. The “extension” directive in the SIP profile sets the value as the destination number.
The attendant extension in my public context (conf/dialplan/public/50_users.xml) looks like the following. It transfers the call to the extension 7800 in my default context:
<include> <extension name="pub_attendant"> <condition field="destination_number" expression="^attendant$"> <action application="transfer" data="7800 XML default"/> </condition> </extension> .... (rest of the public profile skipped)
As a result, anyone from around the world is able to access my PBX at local rates.