Inbound Call Failure when using an SBC


Outbound calls are working and the trunk is registered. Incoming calls fail because FreePBX is not reconizing the IP Address of the SBC. I configured the SBC essentially to act as a proxy on inbound calls, all via headers are intact but I guess it is strictly looking at the layer 3 addressing. How can I allow it to accept calls from this IP? Is there a way to do it without creating another trunk specifically for incoming calls?


SIP Provider ----- SBC (sbc.home ---- (freepbx.home FreePBX

Outbound Calls are working
Incoming is not:
– Executing [[email protected]:6] Log(“SIP/”, "WARNING,“Rejecting unknown SIP connection from"”) in new stack

Trunk Configuraiton:
Peer Details:

User Context: +49xxxxxxxxx
User Details:

Register String:
[email protected]::[email protected]:5060/+49xxxxxxxxxx

show sip registry
Host dnsmgr Username Refresh State Reg.Time
sbc.home:5060 N +49xxxxxxx 585 Registered Sat, 21 Nov 2015 22:05:31

You could allow anonymous sip calls, but that is dangerous, I would strongly advise that a properly constructed trunk with the SBC is in your interest.

Thanks I would create a new trunk for the SBC but that is a last resort I suppose.

To elaborate on the setup a bit more to explain why I am not so happy about doing this.

I have multiple SIP terminations to different carriers. So nit to over complicate this more, E.g. one in Germany and one in the US. On inbound calls I would prefer to handle number normalization directly on the PBX. Therfore technically I would want all calls to come in on the respective trunk.

I am surprised that there seems to be no way to do this. Is it really true?

I’m not sure I understand your intent, if you have an SBC, should not all external trunks be routed to it’s outside? Why would you want to bypass it’s presumed b2bua ability?

1 Like

I am not bypassing it, all calls transverse the SBC for signaling and media. It adjusts the SIP Message and SDP accordingly.

The problem I am having is that because I am trying to keep all configuration on the PBX itself, routing, normalization, classification and from the PBX’s POV it should only view the SBC as a Proxy, not as a trunk. So in my SBC configuration the WAN is blind to all internal network information. Internally though, everything stays intact except for the contact host part (changed to the SBC), and the Media addressing in the SDP. VIA headers are left, User-Agent, etc. It is a BBUA but w/ a single direction transparency.

I have a total of 5 SIP Trunks I am terminating. Some of them have a different dialplan because they are terminating in a different country.

Therefore on Inbound calls I would like not to look at layer 3 addressing for Trunk classification but instead look at destination telephone number, or other criteria. This way I can pass it to a different context for number manipulation.

E.g. I want the US trunk to be pass through, “from-pstn-e164-us” but the German trunk I obviously would not want it to.

I can get incoming calls working if I declare :


But all incoming calls regardless of what Trunk I would like them to route through, they come in on this one.

For example I would like my US trunk to hit this:


Hopefully that makes sense?

Thanks again,

  • Steve

Well, kinda, as you say you want to “normalize” the various inbound calls’ DID, you can do that in the SBC and put it in B2BUA node and have one trunk to the SBC, or you can add specific trunks to Asterisk or you can have an inbound which both seem secure, or allow anonymous calls and write a byzantine set of logic to the one inbound context you chose. I guess it’s all six of one and half a dozen of the other.

I also have the same problem I can make outbound calls but when I make inbound calls to land on a particular did extension the call does not go through

I also have the same problem I can make outbound calls but when I make inbound calls to land on a particular did extension the call does not go through