powered by Roomy

Sunday, November 7, 2010

Free USA DID Number (Part 2) - Forward DID incoming calls to PSTN

Keeping in mind that ipkall allows us to forward DID incoming call to any SIP URI (provided that the destination SIP server does not require SIP registration) and flowroute allows SIP authentication by IP address, we have a perfect combination to make the above mentioned possible:

1. Go to www.flowroute.com and get a free account. You''ll be given USD 0.25 trial credits which is enough for test purpose.

2. Login to your account, open the tab Interconnection

3. In the section for Outbound Allowed IPs, add the following IP address

I will explain the reason for this later.

4. In the section for Tech Prefix, notice the prefix for your account (e.g. 51111111#), we will need this later.

5. Login to your ipkall web portal and change the DID settings

SIP Phone Number: 51111111#xxxx
SIP Proxy: sip.flowroute.com

where 51111111 is the prefix you found in step 4 and xxxx is the destination number to forward the DID incoming call to, in the format country code + area code + phone number. (no IDD code such as + or 00 should be included).

6. Try to make a call to your ipkall DID number. Your destination phone number xxxx should ring.

How it works

We have set up ipkall to route all DID incoming calls to the following URI hosted by flowroute


Basically we tell flowroute to use account 51111111 to call the destination number xxxx. flowroute will verify that the call is made from an allowed IP address (e.g. IP-based authentication) , which is the IP addresses of the ipkall server that we added in step 3. If the account number and the IP address pass the check, flowroute will call the destination number and ipkall will connect the caller to the destination number. The cost for routing the call to xxxx will be deducted from the flowroute account balance.

The list of allowed outbound IP addresses that we see in step 3 is important; without this flowroute will not make any outgoing calls unless the SIP client is registered, which is not possible with ipkall's free DID number.


1. Call may take some time to connect due to complicated routing between ipkall and flowroute server. If flowroute takes too long to connect the call, ipkall may give up and disconnect the DID incoming call before it can reach the destination number.

2. Also because of complicated call routing, it is unlikely that the correct caller ID is shown on the destination phone number. You'll most likely see a private number or US number as the caller ID. Although flowroute sends the caller ID as specified by the presence of one of the following header fields in order of preference "P-Asserted-Identity", "Remote-Party-ID" or "From", it is unknown if ipkall sends any of the above headers when it routes the DID incoming call to flowroute.