Remote Extension Inbound Calls go Straight to VM

I’ve dumped a pastebin of the call info from CLI
https://pastebin.com/jkGUrpQs

Outbound calling from this extension seems to work fine, audio both ways. However inbound calling to this extension always returns an unavailable and sends the call direct to VM. This is also with the latest release of FreePBX 15. 15.0.1.12

This is a box I’m testing from CyberLynk and I have a desk phone at the office which is the Cisco 9971.

The extension shows as online in asterisk info in FreePBX and Not In Use its a PJSIP

That would mean the phone is behind a network that is screwing up the incoming requests from the system. You need a deeper debug to show the SIP messages, so turn on the pjsip logger and try again.

asterisk -rvvvvvv
pjsip set logger on
make call

1 Like

I’ll do that

However also forgot to note I have two soft phones one on my laptop one on my phone also behind the same router which have no issues.

https://pastebin.com/mxFscCZx

This is the paste bin with the PJSIP debug on

The Cisco is rejecting the call with a 404 User Not Found

  1. <— Received SIP response (367 bytes) from TCP:OFFICEWAN:52549 —>
  2. SIP/2.0 404 Not Found
  3. Via: SIP/2.0/TCP FREEPBX:6060;rport;branch=z9hG4bKPj75d32903-e154-4605-baef-9b890c8d1ce7;alias
  4. From: “User Name” <sip:201@FREEPBX>;tag=cae83274-4355-49c1-8724-230f436835e0
  5. To: <sip:200@OFFICEWAN>
  6. Call-ID: c09cfb26-3479-407a-9d55-09500e12e317
  7. Date: Thu, 11 Oct 2018 18:18:27 GMT
  8. CSeq: 10786 INVITE
  9. Content-Length: 0

So this is now looking more like the Cisco isn’t programmed right vs a NAT issue.

Any ideas on what could cause it? I’ll post the config file later.

The lines registered and can dial out so I’m not sure what to check.

Not sure, I don’t use non-SPA Cisco phones. However, the phone could be programmed to accept incoming calls that match specific digits and 200 isn’t matching. You may need to ask on the Cisco forums.

I should also note this phone worked fine for years with this config file with the standard sip ports on an internal FreePBX system

The difference now is the new ports and I’m using the VPS internet hosted pbx

So all I did was replace the respective ports in the config file and pointed the phone to my VPS

But now it doesn’t. You are getting a reply from the phone, the phone is replying with 404 Not Found. So either it’s not actually getting to that phone and another one is responding or that phone is responding with that information.

You need to look at your local network and make sure the NAT is happening properly.

Here’s the phone config

https://pastebin.freepbx.org/view/7a531738

I’m not sure how I’d check that NAT is working properly. This is behind an EdgeRouter.

I can’t do anything with that config. I already stated, I don’t use these phones. Looks OK but I couldn’t tell you if the config was wrong or missing something. I guess someone who uses these phones will have to chime in.

Out of curiosity, have you attempted to Google this like “Cisco 99xx give 404 Not Found error on incoming calls” or looked at the Cisco forums for others using these phones that might have had this issue?

Yes,

I’ve already tried googling and haven’t found any information

So I reset the extension and PJSIP Driver back to the default 5060 and the phone accepts inbound / outbound no issue. So it seems to be something related to changing the default port from 5060 that the phone doesn’t like.

So I suppose I’ll just have to leave it on 5060 and then figure out a different way to secure the box

It would seem perhaps I spoke too soon. It does allow calls inbound for a small period of time but then eventually just starts going straight to voicemail again and I have to reboot the phone.

Then that is a NAT issue.

The registration is failing. Look in the /var/log/asterisk/full log and see what happens about 30 seconds after the phone first registers. It could be the fault of the NAT session in the router expiring.

While that is a possibility, that’s not entirely true particularly in this situation. I may not know much about these Cisco configs but I do understand this:

<timerRegisterExpires>3600</timerRegisterExpires>

Which means the phone is setting their registration expiration time to 1 hour. If the endpoint configs are using the standard settings for an extension then the PBX is trying to Qualify that endpoint every 60 seconds and after 7 re-transmissions the endpoint will go into UNREACHABLE and continued re-transmission will put it to UNAVAILABLE. Either one of those states will cause the OPs issue. By rebooting the phone they are refreshing the REGISTER and re-opening that NAT hole.

So this is a NAT issue. @edricksmith Change the Register Expire to something waaaay lower than an hour. Try a 120 seconds or even 60 seconds. If at 60 seconds you’re still having issues, drop it to 30 seconds. I wouldn’t go any lower than that because again, this is a NAT issue and this is just a workaround.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.