------------------------------------------------------------------------------------- / _ \ \_\(_)/_/ _//"\\_ JOHLEM.net / \ https://johlem.net/V1/topics/cheatsheet.php ------------------------------------------------------------------------------------- --- VOIP (SIP) Cheatsheet SIP usually uses ports 5060 TCP or UDP for unencrypted signaling or 5061 for encrypted transportation using TLS. SIP is an ASCII based protocol which has some similar elements like in the HTTP protocol by using a Request/Response model. Much like an HTTP request from a browser a SIP client request is made using a SIP URI a user agent and a method/request. SIP uses e-mail like addresses format: user/phone@domain/ip A typical SIP URI looks like: sip:205@192.168.1.100, sip:username@pbx.com , sip:205@192.168.1.100:5060 [+] SIP Requests / Methods Request Description INVITE Used to invite and account to participate in a call session. ACK Acknowledge an INVITE request. CANCEL Cancel a pending request. REGISTER Register user with a SIP server. OPTIONS Lists information about the capabilities of a caller. BYE Terminates a session between two users in a call. REFER Indicates that the recipient(identified by the Request URI) should contact a third party using the contact information provided in the request. SUBSCRIBE The SUBSCRIBE method is used to request current state and state updates from a remote node. NOTIFY The NOTIFY method is used to notify a SIP node that an event which has been requested by an earlier SUBSCRIBE method has occurred. [+] An Example SIP “INVITE” Request: INVITE sip:201@192.168.1.104 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.102;rport;branch=z9hG4bKvbxaoqar Max-Forwards: 70