Request: UPDATE - 501 method not implemented

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. :grin:

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).

1 Like

I’ve been trying tcpdump and sip debug to track down some idea of what is going on, but I must be missing something.

The files are too long to anonymize the content. Perhaps I should send my sip trace directly to you?

Here’s a short piece of my tcpdump data.

No. Time Source Destination Protocol Length Info
448 4.115173 FreePBX ITSP SIP/SDP 843 Request: INVITE sip:[email protected]
450 4.117405 ITSP FreePBX SIP 404 Status: 100 Trying
451 4.122390 ITSP FreePBX SIP 779 Status: 407 Proxy Authentication Required
452 4.122630 FreePBX ITSP SIP 477 Request: ACK sip:[email protected]
453 4.122797 FreePBX ITSP SIP/SDP 1117 Request: INVITE sip:[email protected]
455 4.125229 ITSP FreePBX SIP 404 Status: 100 Trying
475 4.295595 ITSP FreePBX SIP 632 Status: 180 Ringing
973 8.869661 ITSP FreePBX SIP/SDP 846 Status: 200 OK
974 8.870170 FreePBX ITSP SIP 496 Request: ACK sip:[email protected]:5060;transport=udp
1006 9.121890 ITSP FreePBX SIP/SDP 861 Request: UPDATE sip:[email protected]:5060
1008 9.122350 FreePBX ITSP SIP 605 Status: 501 Method Not Implemented
1020 9.176408 ITSP FreePBX SIP 595 Request: BYE sip:[email protected]:5060
1022 9.176960 FreePBX ITSP SIP 582 Status: 200 OK

Only the UPDATE is required to see what exactly they are sending. As well, it’s the ITSP that is terminating the call and not Asterisk.

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.

Here’s the contents of the Update message:
https://pastebin.freepbx.org/view/479ab502

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.

Thanks guys!

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.

Any thoughts?

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