For outbound calls on SignalWire, the destination number must be formatted as e.g. 150xxxxxxxx or +150xxxxxxxx. Likewise, the caller ID you send must be formatted as e.g. 16033264791 or +16033264791. SignalWire will only allow you to send a caller ID that is a purchased or verified DID on their system.
On incoming, both the caller ID and the DID will be formatted beginning with +1 (for calls from US to US). Your trunk context and/or Inbound Route must take that into account.
Thanks Cynjut & Stewart
sorry for late reply.
You made my day . The problem was with the outbound CID. I thought in dialplan i’ve added 1 (prepend) and 10 digits rule but it was not working . After adding 1 and 10 digits DID in outbound CID it worked . outbound call is working but did not check NAT for voice, I hope so it is working . I’ll also check the inbound call .
really appreciated you guys for this help .
We know that It’s NAT issue but how to resolve this issue. keepalive=yes( in sip oubound setting) and keepalive=1 in sip setting. nat = yes in sip outbound & codec are also OK . which setting of NAT I’m missing . i’ll really appreciate you if you resolve NAT problem . thanks .
I’m very confused. You are describing an incoming call but posted a log of an outgoing call. Your extension 4004 seems to be in Pakistan but you have a system with US dialing patterns. You talk about NAT but have not mentioned what is NATted.
What country are you in? What country is the PBX in? Cloud or on-site? If on-site and behind NAT, post make and model. Is extension on the same LAN as the PBX? If not, post router make/model.
Does *43 echo test work ok? Do calls between extensions work ok? On an outbound call, is it the extension user or the remote party that can’t hear?
Actually i forgot to mention that i work for USA company office remotely. Freepbx IPPBX is deployed on cloud and iptables are configured to allow voice traffic tcp udp tls ports 5060, 5090 , 5061 and 5062 . sorry i just sent you logs incomplete but can provide you if you want . extension is registered with my IP PBX (cloud) on port 5061 with tls and encryption enabled. rtp rangs 10000-32767 are allowed on my soft phone microsip as well as on IP PBX. In VPC GCP cloud firewall rules allowed " all 0.0.0.0" so there is no problem of ports and ips.
However i fixed this issue by enabling DTMF Signalling “auto” in PBX extension [my extension 4004] .
I also checked the echo test , thanks for telling me that test it also confirmed that my headphone mic was not working.
Thanks Stewar and others, appreciated for the help.
Probably not, but IMO it’s not completely implausible. It’s conceivable that Asterisk was passing RTP between the channels without decryption and/or decoding (matched codecs, etc.), which for some reason was not working in one direction. The ‘auto’ setting might have selected inband, forcing Asterisk to decrypt and decode the RTP so it could listen for DTMF, changing the type of bridging to something that passes audio both ways.
If the OP were my customer (rule #1: the customer is always right), I’d first ask him to confirm that reverting DTMF signaling causes the problem to return, then test whether recording the call (which also forces decryption and decoding) ‘fixes’ the issue.
This century plus old adage has been debunked numerous times over the last century and it no longer applies in this day and age overall. Why? Because customers can be dishonest when they think it will give them an advantage. You know how many times I’ve gotten equipment back because the customer complained “It just died and we need a new one” only to take the thing apart and find water or other types of damage to the system. How many times they have claimed one thing and then I discover it’s the absolute opposite.
Would you ask why there is no encryption=yes to enable SRTP? Is this just supposed to be just the transport under TLS and the RTP not encrypted? If auto/inband is the magic answer (which I don’t think it is) then are you going to confirm with them that opus and gsm are out the door? Narrow band codecs can’t be used. It has to be alaw/ulaw for inband DTMF to work.
More importantly, and something I never understand isn’t done more, where is the debug?! Why hasn’t anyone asked for a SIP trace/debug of this call to check the actual signalling/media of the call? Either before the change or after the change?! How can any one say what the issue really is and confirm how changing the DTMF setting (a setting that controls how Asterisk sends DTMF to the endpoint/device) made the RTP just magically work.
This could be a false positive and the audio being there has nothing to do with the DTMF setting and this will happen again.
You can see what the original issue was, if the RTP was being sent encrypted, what codecs were used, etc. etc. etc.
You can see the difference after the DTMF mode was changed. Was it the actual cause of it or did something different happen?
Most importantly, you would see the call from both the device to Asterisk and Asterisk to Signalwire. Which could expose an issue at the Asterisk level with the two channels trying to bridge the audio between them. Or something on the actual endpoint side that could have caused this.