Before one allows UPDATE, one also has to provide the code that actually handles UPDATE requests. Asterisk does not have a full implementation of incoming UPDATE, so correctly does not offer it in the INVITE.
UPDATE is not a core requirement for SIP and the peer should not reject the call if it isn’t present. In any case, if it does reject it because it absolutely must have it, it should not use 500.
500 is an admission that it is broken. The internal error is in their server.
Sorry to dig up an old post but we are having the exact same issue and our provider is insisting that we allow the UPDATE method even though we have explained that UPDATE is not required and should not be forced if our system cannot handle it. Anyway is there a simple way to implement this on version 11? Or is it still a harder thing to implement than flipping a switch… We are running FreePBX 13 with Asterisk 11.