• Hello SIP Protocol


    SIP Request Line


    Request-Line = Method SP Request-URI SP SIP-Version CRLF
    Method:
            1. REGISTER for registering contact information.
            2. INVITE, ACK, and CANCEL for setting up sessions.
            3. BYE for terminating sessions.
            4. OPTIONS for querying servers about their capabilities.
    Request-URI:
    SIP-Version:
            1. HTTP        <----> SIP
            2. HTTP1.1    <----> SIP/2.0

    SIP Response Line


    Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
    Status-Code:
            1xx: Provisional -- request received, continuing to process the request;
                100 Trying
                180 Ringing
                181 Call Is Being Forwarded
                182 Queued
                183 Session Progress
            2xx: Success -- the action was successfully received, understood,and accepted;
                200 OK
            3xx: Redirection -- further action needs to be taken in order to complete the request;
                300 Multiple Choices
                301 Moved Permanently
                302 Moved Temporarily
                305 Use Proxy
                380 Alternative Service
            4xx: Client Error -- the request contains bad syntax or cannot be fulfilled at this server;
                400 Bad Request
                401 Unauthorized
                402 Payment Required
                403 Forbidden
                404 Not Found
                405 Method Not Allowed
                406 Not Acceptable
                407 Proxy Authentication Required
                408 Request Timeout
                410 Gone
                413 Request Entity Too Large
                414 Request-URI Too Long
                415 Unsupported Media Type
                416 Unsupported URI Scheme
                420 Bad Extension
                421 Extension Required
                423 Interval Too Brief
                480 Temporarily Unavailable
                481 Call/Transaction Does Not Exist
                482 Loop Detected
                483 Too Many Hops
                484 Address Incomplete
                485 Ambiguous
                486 Busy Here
                487 Request Terminated
                488 Not Acceptable Here
                491 Request Pending
                493 Undecipherable
            5xx: Server Error -- the server failed to fulfill an apparently valid request;
                500 Server Internal Error
                501 Not Implemented
                502 Bad Gateway
                503 Service Unavailable
                504 Server Time-out
                505 Version Not Supported
                513 Message Too Large
            6xx: Global Failure -- the request cannot be fulfilled at any server.
                600 Busy Everywhere
                603 Decline
                604 Does Not Exist Anywhere
                606 Not Acceptable

    SIP Header Fileds


    TO
            To: Carol <sip:carol@chicago.com>
    From
            From: "Bob" <sips:bob@biloxi.com> ;tag=a48s
            From: sip:+12125551212@phone2net.com;tag=887s
            From: Anonymous <sip:c8oqz84zk7z@privacy.org>;tag=hyh8

    Call-ID
            Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
    CSeq
            CSeq: 4711 INVITE
    Max-Forwards
    Via
            Branch ID: MUST always begin with the characters "z9hG4bK"
    Contact


    SIP Methods


    REGISTER
        UA <----> Proxy <----> Location Service

    OPTIONS
        
    DIALOG
      only 2xx and 101-199 responses with a To tag, where the request was INVITE, will establish a dialog.
      A dialog established by a non-final response to a request is in the "early" state and it is called an early dialog.

    CANCEL

      

    Others

      only INVIET has ACK.
      "an ACK for a non-2xx response will also have the same branch ID as the INVITE whose response it acknowledges", that means ACK with non-success response will be part of the INVITE transaction.
      It only has a separate branch ID for 2xx success response which then belongs to another transaction.
      

     Home-Based Routing (S8HR)

  • 相关阅读:
    【Python学习之七】递归——汉诺塔问题的算法理解
    【Python学习之六】高阶函数2(map、reduce、filter、sorted)
    【Python学习之五】高级特性5(切片、迭代、列表生成器、生成器、迭代器)
    【Python学习之五】高级特性4(切片、迭代、列表生成器、生成器、迭代器)
    【Python学习之五】高级特性3(切片、迭代、列表生成器、生成器、迭代器)
    【Python学习之五】高级特性2(切片、迭代、列表生成器、生成器、迭代器)
    【Python学习之五】高级特性1(切片、迭代、列表生成器、生成器、迭代器)
    【Python学习之四】递归与尾递归
    Golang 调度器GPM原理与调度分配
    Mongo索引优化
  • 原文地址:https://www.cnblogs.com/streamliu/p/7834058.html
Copyright © 2020-2023  润新知