My sip provider seems to changed something on their end and they now issue Request: UPDATE commands to our FreePBX system.
When this happens, FreePBX replies with Status: 501 Method Not Implemented.
As a result, FreePBX hangs up and callers are left with a busy signal.
My system is PBX Firmware: 12.7.6-2002-2.sng7
Asterisk version 13.29.2
I could kindly use some help figuring out how to configure FreePBX to reply to these update requests. This issue has me a little out of my depth.
There generally is no configuration to do such a thing. The response means that the UPDATE request was for something that is not implemented/code doesn’t exist to support. That by itself should not hang up the call though, unless the remote side is doing so as a result of it. You’d need to show an actual SIP trace (sip set debug on or pjsip set logger on depending on whether chan_sip or chan_pjsip is in use).
On my system (FreePBX 15, Asterisk 16), the outgoing INVITE has Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REFER, MESSAGE
so I would assume that an incoming UPDATE would be accepted.
Upgrading to Asterisk 16 (with associated pjsip driver) may fix that. If not, at the Asterisk command prompt, type pjsip set logger on
make a failing test call, paste the relevant section of the Asterisk log at https://pastebin.freepbx.org and post the link here.
That… depends. UPDATE is a SIP request, so the stack certainly supports it and it works however the request can have different content types. Asterisk doesn’t support all the content types possible. An UPDATE with SDP certainly, others not so much.
Oh, and yeah trying PJSIP instead would be good. The previous SIP channel driver may not support things. I re-read the post and it was unclear what was in use.
The trunk is configured with Chan-SIP. PJSIP settings look quite different, so that might take a few minutes to understand and change over.
I’m working from home due to the Covid-19 thing, so making test calls is out for the near term. I’ll figure out how to configure the trunk for PJSIP in the meantime.
In talking with our SIP trunk provider, I have found more information…
The trouble I’m experiencing started shortly after they upgraded equipment on the ITSP’s side. They didn’t bother to inform us prior to the change or after.
The details they are quibbling over are in the 200 OK message body. a=ptime:20 and a=maxptime:150
The ITSP is telling me they require both attributes to equal 20.
I have found I can manipulate ptime using allow=ulaw:20 in the trunk config. I have no idea how to set the maxptime however.