Can't get Amazon Chime to work with FreePBX

Hello, I am trying to use Amazon Chime as my SIP Trunk service. I have watched many tutorials and have even looked at the official documentation on how to configure FreeBPX and Amazon Chime, if you would like to look: [https://d1.awsstatic.com/Products/product-name/Chime/Amazon%20Chime%20Voice%20Connector_SIP%20Trunk%20Validation_FreePBX_v1.2.pdf]. I still can not get it to work, when I try to make an Outbound Call all I get is," All Curcits In Use." Also, When I try to call the number that is attached to Amazon Chime it just goes to the busy tone. I can’t find anything about this certain problem and when I have they don’t have an answer. Also, I am kinda new to this stuff so hopefully, that helps you. Can you help me?

https://wiki.freepbx.org/display/SUP/Providing+Great+Debug

Hello, thanks for your reply. I went through my Asterisk Logs and I kept seeing an error " Error 171005 ’ missing route set (for tel: URI ) (PJSIP_ENORUTESET)’ sending OPTIONS request to endpoint 1001." then I get," Unable to send request to qualify contact sip:1001@(An IP Address):62272;x-ast-orig-host=(My Cisco phone IP Address):5060 on ADR 1001." Btw my extension is 1001. I don’t know what that means and it just keeps repeating every 15 seconds. When I try to make a call, the Asterisk Logs don’t come up with any errors. And the error that I said, comes up before you even make a call. I don’t know what that error means, or how to fix it. Do you know how to fix it?

Which exact version of Asterisk are you using?

Until recently, tel: URIs were rejected by chan_pjsip. There has been recent change to allow the most common uses, but you may have found a case that is still not supported.

I can’t tie the two sets of messages together, but I would think the first one is because tel: URIs provide no information o n which IP address to use, so you would need an outbound proxy to use one for an outbound request.

I am using Asterisk version 18.16.0

Should contain limited TEL: URI support.

I think we need to see the “pjsip show endpoint …” CLI information for the endpoint in question.

Also what does “An IP Address” represent. I think you have incorrect incoming Contact headers that Asterisk is trying to fix up.

Also please copy the messages exactly and preferably follow the procedure in the link I gave you and upload the complete log to a pastebin type service. There is an apparent error in your transcription, as I believe ADR is really AOR, in which case the second message is saying it is trying to say that it is unable to test the connectivity to the device that registered on your extension 1001, presumably something like no route to host, and that the registrant either claimed to be at An IP Address, but actually appeared to be at My Cisco phone IP Address), or the reverse of that (I’m not sure if x-ast-orig-host is the claimed or actual one).

The first message also seems to be mistranscribed.

We may end up needing the full log for a registration, with the CLI option “pjsip set logger on” activated.

To answer your questions, for the “An IP Address” it is 192.168.1.14, which I didn’t realize until now, it is my router’s IP Address. Also, the error only comes up when I connect the phone. For the log: [Asterisk Log - Pastebin.com]

Here is what the full log says when I try to make a call: [Asterisk Log More - Pastebin.com]

It appears that Amazon Chime expects the destination number in E.164 format, e.g. +13152436078 instead of 3152436078. Assuming that you want to dial domestic numbers as 10 digits, configure the Outbound Route or the Trunk to prepend the +1.

If you still have trouble, we need to see the SIP trace to know why the call was rejected. At the Asterisk command prompt, type
pjsip set logger on
then make the failing call and paste a new log.

I changed the dial patterns and still got the same results. This is the full log with the pjsip logger on: [Pjsip Logger - Pastebin.com]

On line 62722, Chime rejected the call with a 403 Forbidden. Unfortunately, they didn’t include a Warning header that says why the call was rejected.

I suspect that the termination settings on Chime Voice Connector are incorrect. In particular, confirm that your 45.47.x.x public IP address is included in the Allowed hosts lists, and US is enabled in the Countries list. Also, try setting up Caller ID override, in case it is rejected the one sent on the trunk. But, assuming that Editing Amazon Chime SDK Voice Connector settings - Amazon Chime SDK is the correct document, I’m puzzled that they are asking for credentials, when the document you linked shows no pjsip authentication.

If you still have trouble, paste a log for an incoming call, because providers generally expect the same formats on outgoing as they send on incoming.

I have confirmed that my FreePBX public IP address is in the Allowed Host’s List, and checked that US was enabled in the Countries List. I have also set up the Caller ID Override. Still, with no luck, I tried to add credentials to Amazon Chime and FreeBPX but still with no luck. When I try getting a log file for when I try to call the number, I don’t get anything. Also, the call doesn’t ring at all it just plays the busy tone.

I’m stumped. On the Chime portal, what (if anything) shows under Last options ping?

Run sngrep and report what, if anything, appears on an attempted incoming call. If nothing, confirm that your router/firewall has UDP port 5060 forwarded to the PBX at 192.168.1.20 . Can you capture traffic on its WAN interface to see whether an inbound call attempt shows up?

Although I doubt it’s related, try enabling only ulaw on the trunk to Chime.

On the last options ping it says “—” so there is nothing there. I have set the external port for the FreePBX Ip address in my router to 5060 and set my inbound port to 5060 so it would be going to the right place. Also, I can’t find a way to capture the WAN interface on Asterisk, I was able to get one capture off my router but none of the files look like they are what you need. Also, for whatever reason, I can’t install sngrep, even though I’m on the CLI level. And the ulaw already comes pre-enabled so it was already checked. But it still doesn’t work at all.

OK, so we should debug this first. Although I’m not a Chime user, just for laughs I created a trunk. My response to OPTIONS is a 200 OK, so getting a 403 Forbidden shows a problem. I’m reasonably sure that the problem is with settings at Amazon, not on FreePBX.

Please check:
On General tab, Encryption is Disabled.
On Termination tab, termination status Enabled. Outbound Host Name matches SIP Server in the trunk. Allowed host list shows your public IP, followed by /32. Calling plan shows United States of America. Credentials is empty (assuming that your trunk has Authentication None). You clicked Save after making any changes.

If all this is correct and still no Last options ping, possibly a network issue. Router/firewall make/model? Any VoIP-related settings? Does it have your public IP on its WAN interface? If not, your Charter modem may be configured as a gateway. Modem make/model?

I now have the last options ping. I had to go to the logging section and turn on SIP Message Logs. The last options ping is: 45.47.13.117 Apr 04, 2023 at 10:40 AM. Also, all of my settings seem to be correct.

OK, so are you now getting 200 OK response to OPTIONS? If so, what happens on outbound attempts? Still a 403 error?

I just now tried to make an outbound call and it worked. But now when I tried to call the number that is attached to Chime, it still goes to the busy tone.

When you attempt to call in, does the SIP message log at Amazon show an INVITE sent to the correct IP address and port? If not, check the settings there.

If the INVITE is being correctly sent but not arriving at FreePBX, you have a networking issue. Router/firewall make/model? Modem make/model? VoIP-related settings in either? If you can’t get sngrep running, capture traffic with tcpdump, move the capture file to your PC and open it in Wireshark.

Yes, the log does say that an invite was sent to the correct IP and port.