drachtio / drachtio-server

A SIP call processing server that can be controlled via nodejs applications
https://drachtio.org
MIT License
237 stars 92 forks source link

Session-Expires header not included on 200 OK if no Refresher param on INVITE #284

Open rhondahollis opened 1 year ago

rhondahollis commented 1 year ago

When Drachtio receives an INVITE with Session-Expires header that does not include a refresher parameter, there is no Session-Expires inserted on the 200 OK and no session timer set up.

The RFC states that the UAS MUST respond to the request for Session timer. The refresher options for the response are noted: https://www.rfc-editor.org/rfc/rfc4028.html#page-15

From my test call:

INVITE sip:2139730000@devsip.lab.com SIP/2.0^M Via: SIP/2.0/WSS fvnl6e5ohsmc.invalid;branch=z9hG4bK4384758^M Max-Forwards: 69^M To: sip:2139730000@devsip.lab.com^M From: sip:7716@devsip.lab.com;tag=tvaht4ajis^M Call-ID: 6arkopk79sro8icqm6lj^M CSeq: 9075 INVITE^M Allow-Events: conference,talk,hold^M Contact: sip:qkoq862r@fvnl6e5ohsmc.invalid;transport=ws;ob^M Content-Type: application/sdp^M Session-Expires: 90^M Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY^M Supported: timer,ice,replaces,outbound^M User-Agent: JsSIP/^3.15.0^M Content-Length: 2235^M

SIP/2.0 200 OK^M Via: SIP/2.0/WSS fvnl6e5ohsmc.invalid;branch=z9hG4bK4384758;received=10.101.114.32;rport=1212^M From: sip:7716@devsip.lab.com;tag=tvaht4ajis^M To: sip:2139730000@devsip.lab.com;tag=eNXBUB3KScHFc^M Call-ID: 6arkopk79sro8icqm6lj^M CSeq: 9075 INVITE^M Contact: <sips:10.101.114.12:8443;transport=wss>^M Accept: application/media_control+xml, application/sdp^M Allow: ACK, BYE, CANCEL, INFO, INVITE, OPTIONS, PRACK, REFER, NOTIFY, UPDATE^M Content-Type: application/sdp^M Content-Length: 559^M

spointer commented 4 months ago

I think this is the role of the drachtio-srf app