DID=s problem

So I have a 10 way SIP trunk from a UK provider. Calls in and out work fine, but I have multiple numbers for different porpoises I set up the inbound rules for each number but they never work, only the catch all number works. In the CLI when a call comes in I get this:

    -- Executing [s@from-trunk:1] Set("SIP/Entanet-0000014f", "__FROM_DID=s") in new stack
    -- Executing [s@from-trunk:2] ExecIf("SIP/Entanet-0000014f", "0 ?Set(CALLERID(name)=01299404193)") in new stack
    -- Executing [s@from-trunk:7] Goto("SIP/Entanet-0000014f", "timeconditions,1,1") in new stack

The important bit i guess is “__FROM_DID=s” why is it “s” and not the DID? I talked to my provider and they DO send the DID in the SIP headers. What could be wrong with my settings or what?

My PEER details:

username=443331010040
type=peer
secret=***********
qualify=yes
nat=always
insecure=very
host=proxy.entacall.com
fromuser=443331010040
fromdomain=mydomain.com
dtmfmode=rfc2833
disallow=all
context=from-trunk
canreinvite=yes
authuser=443331010040
allow=ulaw

My incoming context details:

type=user
secret=**********
context=from-trunk

Reg string: 443331010040:************@proxy.entacall.com

Hope you can help!?

You didn’t leave enough details to troubleshoot the situation, but here’s a possibility: your provider is sending the DID in the SIP To: header. There’s a FreePBX context for that. Set your context=from-pstn-toheader

Listed in extensions.conf, FreePBX 2.9:

If that’s not it, turn on SIP debugging while you receive some calls and see what header contains the DID.

That sounds like a provider problem to me. Have you contacted support for your provider?