SIP, which has always been known as "simple", is not so simple, but it is difficult to grasp anything.
This document is designed to keep track of the various doubts and problems encountered during SIP usage.
First, Response 422 Session Interval Too Small
The invite messages sent are as follows:
INVITE SIP:806@192.168.8.11sip/2.0Via:sip/2.0/ws 9srpbdc87v1s.invalid;branch=Z9hg4bk774681max-forwards: theTo :<SIP:806@192.168.8.11>From :"801"<SIP:801@192.168.8.11>;tag=Ii5b0f08lbcall-Id:0egn2qmnq0hhrho2ccllcseq:1869Invitex-can-renegotiate:trueContact :<sip:[email protected];transport=ws;ob>Content-type:application/sdpsession-expires: -Allow:invite,ack,cancel,bye,update,message,options,refersupported:timer,ice,replaces,outbounduser-agent:jssip0.7.9Content-length:2613v=0o=-6735531044150428780 2In IP4127.0.0.1...
The response received is as follows:
sip/2.0 422Session Interval Too smallvia:sip/2.0/ws 9srpbdc87v1s.invalid;branch=z9hg4bk774681;received=192.168.8.11; rport=8012From :"801"<SIP:801@192.168.8.11>;tag=ii5b0f08lbto:<SIP:806@192.168.8.11>;tag=Q8xbrsc8nxhrhcall-Id:0egn2qmnq0hhrho2ccllcseq:1869Inviteuser-agent:freeswitch-mod_sofia/1.4. the+git~20150828t032007z~014bbaf57d~32bitaccept:application/Sdpallow:invite, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, Subscribesupport Ed:timer, Path, Replacesallow-events:talk, hold, conference, presence, As-feature-event,Dialog, Line-seize, call-Info, SLA, Include-session-description, Presence.winfo, message-Summary, Refermin-se: -Content-length:0
principle: SIP (RFC3261) does not provide a mechanism for existing sessions to remain active, although it is possible for a terminal to use certain ways to understand whether a session is alive, but Proxy does not. The Re-invite and update methods are based on this, and the cycles of these refresh requests are determined by negotiation. When no new refresh request arrives within the specified period, the session is considered to be over. in order to control the periodic session refresh through the Re-invite and update methods to determine whether the sessions are alive at both ends, Added two header domains: Session-expires (Session lifetime) and Min-se (minimum value for session clock).
Where the value in the Min-se header field can only be increased cannot be reduced, the value of the Session-expires header field can only be reduced, but not less than the value in the Min-se header field.
When proxy cannot accept the Session-expires value in the request (less than the Min-se value), the proxy will reply 422,UAC will continue to initiate the request, but will carry the Min-se header field in 422;
When the request arrives at UAS, UAS fills in the final result in the Session-expires header field in 2** 's answer, and carries the parameter refresher (which indicates the current UAC or UAS who will refresh), 2** 's reply, Proxy cannot modify the Session-expires header field.
Question. Modify the Min-se or Session-expires header field to meet Session-expires >= Min-se.
When SIP is in progress