Can't receive calls after a few minutes

Okay, I think this is my last issue.

SIP trunker is Callcentric.

When I make a change, and click on “Apply configuration changes,” I can receive calls from the outside world for a few minutes.

After the server sits for a while with no activity (just a few minutes), and I try calling in again, I get a system message of “The number you have dialed is not in service, please check the number and try again.”

Checking the report feature, I notice that the calls that went through came in on channels like “SIP/Callcentric-00000070” or “SIP/Callcentric-00000073” and have a Dst of 600 (my ring group), while the calls that don’t make it come in on channel “SIP/204.11.192.133:5074-000” and have a Dst of “S” (I guess the error message I’m hearing."

I’m behind a NAT router, with a dynamic IP. Is there something I have to configure to make sure that incoming calls continue to work?

Another possible clue: Outgoing calls to continue to work without problem.

Yet another clue: When this happens, Callcentric’s control panel continues to tell me my “phone is registered” (by phone they mean FreePBX because that is the only thing I’ve configured to connect to Callcentric.

Okay, General Settings/Allow Anonymous Inbound SIP Calls set to “yes” has fixed this issue.

Even after reading reassurances that this is okay, I still have my concerns.

You are correct, it would be better to add the servers in FreePBX as trunks, at the very least you then have a very visible and easy way to update as needed.

I’m curious why other providers don’t have similar issues with Asterisk. Is Callcentric really one of the very few that have a server configuration like this? They did mention some way of having a default route and then some other “complex” routing to work around this.

What is your reccomendation on fixing this? Should one allow anonymous inbound sip calls or build out all 9 trunks or perhaps there is a better way?

I wouldn’t allow anonymous inbound SIP calls for any reason. I had the same issue with Callcentric and asterisk and found a work-around. As I understand it, what’s happening is that the inbound call from callcentric can come from one of the 9 servers they have and your pbx is refusing the connection as it’s not coming from the servier you pbx registered to at callcentric. I was able to work-around this by applying the following changes to my sip_custom_post.conf file:

[callcentric1]
type=peer
host=alpha1.callcentric.com
context=from-trunk
[callcentric2]
type=peer
host=alpha2.callcentric.com
context=from-trunk …

You have to do this for all 9 servers alpha1 through alpha9. After doing this and reloading my inbound calls work fine without anonymous sip enabled. I contacted Callcentric and they indicated this was an issue with the way Asterisk deals with the inbound sip call. They said this work-around works but if they add new servers the issue will pop up again until I add it to my conf file. They said there was another way with crazy DID routing, etc…I decided this worked for my purposes (SOHO needs).

Hope this helps…

Anonymous SIP only allows anonymous inbound calls but it is a sloppy method to get inbound calls to work. It’s purpose is to enable URI dialing. When you configure the Alias field in the extension you can be called by "[email protected]" or whatever your domain is.

With that being said, why would you program those trunks by hand? For the purpose of documentation alone I would not put them in a sip_custom file. I would go through the trouble of creating all 9 peers with FreePBX trunks.

I would build all nine trunks. That’s a large number of servers to originate traffic from. Most provider have 2 or 3 from my experience.