I administer a group of Asterisk servers running a mix of 10.3, 10.4, and 18.104.22.168 (mostly 10.4). One of those servers is a call concentrator/relay for E911 service. All of the other servers make an IAX connection to the relay server, which then hands off to a SIP trunk to my E911 provider. It all worked as recently as 2 weeks ago, but I discovered that sometime between then and now it stopped working without any explanation. Last modified time on the config files is over 2 months ago.
The setup is as follows:
On the call relay (IAX “receiver”)
type=user host=dynamic username=my-remote-username encryption=yes secret=my-remote-secret context=my-call-context deny=0.0.0.0/0.0.0.0
On the VoIP servers (IAX “sender”)
- One of the servers is set to register: register => my-remote-username:firstname.lastname@example.org
- Another is set to just use the peer definition as below without trying to register
type=peer host=call.relay.server.ip username=my-remote-username secret=my-remote-secret qualify=no
Dialplan on the VoIP servers:
exten => 911,1,Verbose()
same => n,Dial(IAX2/my-remote-server/911)
Dialplan on the relay server:
exten => 911,1,Verbose()
same => n,Dial(Relay to E911)
The issue I’m seeing is this:
- On the servers that are set to register, the relay server is rejecting the registration (I’ve confirmed the username/peername/secrets are an exact match on both sides, and nothing has changed from when they were working). IAX debug on the relay server shows the auths come in and the relay server send REGREJ – Registration Refused, Cause Code 29. IAX debug on the server attempting to register shows sending the REGAUTH packets and receiving the REGREJ packets. The IP address shown in the IAX debug packets matches the IP address in the permit rule for each peer that’s supposed to register.
- On the server that is set to just send the calls, an attempt to dial 911 just hangs for 60 seconds and eventually times out without sending the call. IAX debug on the relay server shows the call start frame get RX’d, shows the relay server try to TX a CTOKEN frame, and nothing further (other than retransmissions of the call start frame). IAX debug on the server trying to send the call to the relay server shows the TX for the call start frame, but no RX for the CTOKEN frames.
Ultimately, this has gone from working to totally broken without any apparent change to my configuration. I need help to try to troubleshoot it further, I’ve tried everything I can think of (including transferring the backed-up working config files to a brand new clean-load server, upgrading Asterisk, and recreating the configurations by hand), and nothing seems to be helping.