The server:
FreePBX 2.3.0beta1
Asterisk Ver. 1.2.36078
The setup:
Inbound DID with IVR from IPKall
Inbound DID with IVR from Vitelity
Outbound Dialing with 2 Viatalk Trunks; one has caller ID blocked, the other does not
Outbound Dialing with 1 Vitelity Trunk
Connected SIP Devices:
X-Lite 3.0 Softphone
PAP2-NA
All incoming calls to the IVR work just fine when they originate from a POTS line or a cell phone. When the call comes in to any of the numbers with an IVR destination from OUTSIDE my server (i.e.: POTS, or Cell Phone), it always works just fine. Give it a go on the IPKall number if you wish:
1 (360) 488-0476
I’ve been going back and forth with Vitelity’s support, we tried modifying my Trunk so it no longer uses the SIP register string, and they point all the calls to my static IP directly. This did not change the behaviour.
But…
On the PAP2-NA:
Outbound calls to all US telephone numbers work fine on all the trunks, as long as the outbound call isn’t going to a DID on my server that is configured to have an IVR. So if I call a number that is going to ring a SIP extension, it works fine. If I call a number with an IVR associated with it, the IVR never starts. It doesn’t matter what trunk I use to make the outbound call to reach my IVR, or which carrier’s DID I’m using to get to the IVR.
Here’s the interesting twist. In the Vitelity control panel, if the Vitelity DID pointing to an IVR fails, the failover number I set is an IPKall number pointing to the same IVR. When I use the Vitelity outbound trunk to call this DID, I get silence. If I remove the failover number, the CLI output is a little more interesting:
[code:1] – Called VitelityOutbound/18663153263
– Got SIP response 486 “Busy here” back from 64.2.142.17
– SIP/VitelityOutbound-09c79d40 is busy
== Everyone is busy/congested at this time (1:1/0/0)
– Executing Goto(“SIP/3604880489-b7b1b850”, “s-BUSY|1”) in new stack
– Goto (macro-dialout-trunk,s-BUSY,1)
– Executing NoOp(“SIP/3604880489-b7b1b850”, “Dial failed due to trunk reporting BUSY - giving up”) in new stack
– Executing Busy(“SIP/3604880489-b7b1b850”, “20”) in new stack
== Spawn extension (macro-dialout-trunk, s-BUSY, 2) exited non-zero on ‘SIP/3604880489-b7b1b850’ in macro ‘dialout-trunk’
== Spawn extension (macro-dialout-trunk, s-BUSY, 2) exited non-zero on ‘SIP/3604880489-b7b1b850’[/code:1]
On the X-Lite 3.0 Softphone
Outbound calls to all US telephone numbers work fine on all trunks with the following exceptions:
With the Viatalk Trunk with the Caller ID Blocked:
Calls successfully reaches IPKall, I know this because IPKall doesn’t accept calls from private numbers, and their system prompts me to enter a phone number to identify myself. The call should connect once I do that, but the IVR greeting never starts. (I never hear it, and it doesn’t show up as being played in the CLI.) There is dead air, and eventually some sort of time-out kicks in and the call ends. I see the ‘SPAWN’ lines pop up in the CLI as the call disconnects.
If I try using this Viatalk trunk to dial a Vitelity DID that also points to the IVR, I get a ‘CONGESTION’ error email from Vitelity, notifying me of the failed call. In the Asterisk CLI I see the outbound call has been made, but the recording for the IVR never starts. Specifically, Vitelity says “This error usually means your server or device does not recognize the number being dialed. If using asterisk, make sure you have the correct inbound context specified on your inbound trunk and that you have correctly added an inbound route/extension logic for this DID.” I see the call show up as 0 seconds in my CDR with Vitelity, and as “NO ANSWER” and a call duration reflecting how long I listened to dead air. Interestingly enough, unlike the softphone, if I remove the failover number in the Vitelity control panel, the CLI output doesn’t show the snippet I added earlier, the call does not terminate - it keeps going, with dead air.
With the Viatalk Trunk with the Caller ID Enabled:
Dead air. I see the call being made, but I may as well look for the automagically generated ‘call failed error email’ from Vitelity (pretty neat feature!).
With Vitelity:
Dead air when I call the IPKall number. It successfully plays the IVR when I call the Vitelity DIDs!
{ripping my hair out in frustration} :shock:
A quick glance at the Asterisk Logfile would corroborate my issues:
http://pastebin.com/f25e206cc
Given all this back and forth with the carrier, and based on what I’m seeing in the CLI, my speculation is the problem does not lay with the carrier, but moreso with my setup. Any suggestions?
I see a new 2.3.0beta2.0 Core module is up, but it doesn’t let me upgrade. I’m hoping this issue will perhaps eliminate itself when upgrade instructions come out. Is there a possibility I need to upgrade my Asterisk to a later version?