{"id":906,"date":"2012-08-14T10:54:44","date_gmt":"2012-08-14T09:54:44","guid":{"rendered":"http:\/\/mccltd.net\/blog\/?p=906"},"modified":"2013-01-15T07:58:39","modified_gmt":"2013-01-15T07:58:39","slug":"sip-example-simple-two-party-call-flow","status":"publish","type":"post","link":"http:\/\/darenmatthews.com\/blog\/?p=906","title":{"rendered":"SIP &#8211; Example Simple Two-Party Call Flow"},"content":{"rendered":"<div id=\"attachment_1614\" style=\"width: 69px\" class=\"wp-caption alignright\"><a href=\"http:\/\/www.cloudshark.org\/captures\/f433dcdc200c\" target=\"_blank\"><img aria-describedby=\"caption-attachment-1614\" loading=\"lazy\" class=\"size-full wp-image-1614    \" title=\"SIP and RTCP\" src=\"http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2011\/05\/CloudShark-Logo.PNG\" alt=\"CloudShark-Logo\" width=\"59\" height=\"49\" \/><\/a><p id=\"caption-attachment-1614\" class=\"wp-caption-text\">SIP \/ RTCP<\/p><\/div>\n<p><strong>Download this capture file:<\/strong> &#8221; <a href=\"http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2010\/05\/SIP-RTPC-control-through-NAT-Device.pcap\">SIP &#8211; RTCP control through NAT Device<\/a> &#8221;<\/p>\n<p>OR: view it now via <strong><a title=\"SIP capture\" href=\"http:\/\/www.cloudshark.org\/captures\/213bb9c49fb7\" target=\"_blank\">Cloudshark<br \/>\n<\/a><\/strong><\/p>\n<p>SIP is defined by RFC 2543 and is used for multimedia call session setup and control over IP networks. <!--more--><\/p>\n<p><strong>Requests<\/strong><\/p>\n<ul>\n<li>SIP uses six types (methods) of requests:<\/li>\n<li>INVITE\u2014Indicates a user or service is being invited to participate in a call session.<\/li>\n<li>ACK\u2014Confirms that the client has received a final response to an INVITE request.<\/li>\n<li>BYE\u2014Terminates a call and can be sent by either the caller or the callee.<\/li>\n<li>CANCEL\u2014Cancels any pending searches but does not terminate a call that has already been accepted.<\/li>\n<li>OPTIONS\u2014Queries the capabilities of servers.<\/li>\n<li>REGISTER\u2014Registers the address listed in the To header field with a SIP server.<\/li>\n<\/ul>\n<p><strong>Responses<\/strong><\/p>\n<p>The following types of responses are used by SIP and generated by a SIP Proxy Server:<\/p>\n<ul>\n<li>SIP 1xx\u2014Informational Responses<\/li>\n<li>SIP 2xx\u2014Successful Responses<\/li>\n<li>SIP 3xx\u2014Redirection Responses<\/li>\n<li>SIP 4xx\u2014Client Failure Responses<\/li>\n<li>SIP 5xx\u2014Server Failure Responses<\/li>\n<li>SIP 6xx\u2014Global Failure Responses<\/li>\n<\/ul>\n<p><strong>The Registration Process<\/strong><\/p>\n<p>A registration occurs when a client needs to inform a proxy or redirect server of its location. During this process, the client sends a REGISTER request to the proxy or redirect server and includes the address (or addresses) at which it can be reached.<\/p>\n<p><strong>The Invitation Process<\/strong><\/p>\n<p>An invitation occurs when one SIP Caller &#8220;invites&#8221; another SIP Caller to join in a call. During this process, user A sends an INVITE message requesting that user B join a particular conference or establish a two-party conversation. If user B wants to join the call, it sends an affirmative response (SIP 2xx). Otherwise, it sends a failure response (SIP 4xx). Upon receiving the response, user A acknowledges the response with an ACK message. If user A no longer wants to establish this conference, it sends a BYE message instead of an ACK message.<\/p>\n<div id=\"attachment_907\" style=\"width: 485px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2010\/05\/SIP-Simple-Two-Party-Call-Flow.JPG\"><img aria-describedby=\"caption-attachment-907\" loading=\"lazy\" class=\"size-full wp-image-907\" title=\"SIP - Simple Two Party Call Flow\" src=\"http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2010\/05\/SIP-Simple-Two-Party-Call-Flow.JPG\" alt=\"SIP - Simple Two Party Call Flow\" width=\"475\" height=\"563\" srcset=\"http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2010\/05\/SIP-Simple-Two-Party-Call-Flow.JPG 475w, http:\/\/darenmatthews.com\/blog\/wp-content\/uploads\/2010\/05\/SIP-Simple-Two-Party-Call-Flow-253x300.jpg 253w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/a><p id=\"caption-attachment-907\" class=\"wp-caption-text\">SIP - Simple Two Party Call Flow<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Download this capture file: &#8221; SIP &#8211; RTCP control through NAT Device &#8221; OR: view it now via Cloudshark SIP is defined by RFC 2543 and is used for multimedia call session setup and control over IP networks.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[41],"tags":[42,38],"_links":{"self":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/906"}],"collection":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=906"}],"version-history":[{"count":16,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/906\/revisions"}],"predecessor-version":[{"id":1736,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/906\/revisions\/1736"}],"wp:attachment":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=906"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}