UPDATE 在RFC3311中定义。
UPDATE 允许客户端更新session的参数,例如媒体流集及其codec,但对dialog的状态没有影响。从这个意义上说,它就像re-INVITE,但与re-INVITE不同,因为UPDATE是在intial INVITE完成之前发送(MT发出200 OK for INVITE后就不能用了),这种设定使得UPDATE可以于early dialogs中session参数进行更新。MT发出200 OK for INVITE后,如果还需要更新SDP媒体信息,则需要Re-Invite消息。
SIP定义了用于发起和修改session的INVITE 方法。然而,INVITE方法会影响了两个重要状态,也就是session(SIP设置的media streams)以及dialog(SIP 本身定义的状态)。虽然在大多数情况下是合理的,但在某些重要情况下,INVITE就会是问题复杂化,主要就是在回答initial INVITE之前需要修改会话的的这个阶段。比如"early media”,是建立session过程中为传达呼叫进度的一个阶段,显然是在完成initial INVITE之前。
有时候MO或MT需要在call answer前对session进行修改,然而根据设定re-INVITE不能用于这种场景,由此定义了UPDATE method,UPDATE method 可以由 UA 在dialog(early或confirmed)内发送,在不影响dialog status时就可以实现session参数的更新。