⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grammar

📁 Sofia SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification.
💻
📖 第 1 页 / 共 2 页
字号:
/* SIP grammar from RFC3261 *  *    alphanum  =  ALPHA / DIGIT *  *    reserved    =  ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" *                   / "$" / "," *    unreserved  =  alphanum / mark *    mark        =  "-" / "_" / "." / "!" / "~" / "*" / "'" *                   / "(" / ")" *    escaped     =  "%" HEXDIG HEXDIG *  *    LWS  =  [*WSP CRLF] 1*WSP ; linear whitespace *    SWS  =  [LWS] ; sep whitespace *  *    HCOLON  =  *( SP / HTAB ) ":" SWS *  *    TEXT-UTF8-TRIM  =  1*TEXT-UTF8char *(*LWS TEXT-UTF8char) *    TEXT-UTF8char   =  %x21-7E / UTF8-NONASCII *    UTF8-NONASCII   =  %xC0-DF 1UTF8-CONT *                    /  %xE0-EF 2UTF8-CONT *                    /  %xF0-F7 3UTF8-CONT *                    /  %xF8-Fb 4UTF8-CONT *                    /  %xFC-FD 5UTF8-CONT *    UTF8-CONT       =  %x80-BF *  *    LHEX  =  DIGIT / %x61-66 ;lowercase a-f *  *    token       =  1*(alphanum / "-" / "." / "!" / "%" / "*" *                   / "_" / "+" / "`" / "'" / "~" ) *    separators  =  "(" / ")" / "<" / ">" / "@" / *                   "," / ";" / ":" / "\" / DQUOTE / *                   "/" / "[" / "]" / "?" / "=" / *                   "{" / "}" / SP / HTAB *    word        =  1*(alphanum / "-" / "." / "!" / "%" / "*" / *                   "_" / "+" / "`" / "'" / "~" / *                   "(" / ")" / "<" / ">" / *                   ":" / "\" / DQUOTE / *                   "/" / "[" / "]" / "?" / *                   "{" / "}" ) *  *    STAR    =  SWS "*" SWS ; asterisk *    SLASH   =  SWS "/" SWS ; slash *    EQUAL   =  SWS "=" SWS ; equal *    LPAREN  =  SWS "(" SWS ; left parenthesis *    RPAREN  =  SWS ")" SWS ; right parenthesis *    RAQUOT  =  ">" SWS ; right angle quote *    LAQUOT  =  SWS "<"; left angle quote *    COMMA   =  SWS "," SWS ; comma *    SEMI    =  SWS ";" SWS ; semicolon *    COLON   =  SWS ":" SWS ; colon *    LDQUOT  =  SWS DQUOTE; open double quotation mark *    RDQUOT  =  DQUOTE SWS ; close double quotation mark *  *    comment  =  LPAREN *(ctext / quoted-pair / comment) RPAREN *    ctext    =  %x21-27 / %x2A-5B / %x5D-7E / UTF8-NONASCII *                / LWS *  *    quoted-string  =  SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE *    qdtext         =  LWS / %x21 / %x23-5B / %x5D-7E *                      / UTF8-NONASCII *  *    quoted-pair  =  "\" (%x00-09 / %x0B-0C *                    / %x0E-7F) *  *    SIP-URI          =  "sip:" [ userinfo ] hostport *                        uri-parameters [ headers ] *    SIPS-URI         =  "sips:" [ userinfo ] hostport *                        uri-parameters [ headers ] *    userinfo         =  ( user / telephone-subscriber ) [ ":" password ] "@" *    user             =  1*( unreserved / escaped / user-unreserved ) *    user-unreserved  =  "&" / "=" / "+" / "$" / "," / ";" / "?" / "/" *    password         =  *( unreserved / escaped / *                        "&" / "=" / "+" / "$" / "," ) *    hostport         =  host [ ":" port ] *    host             =  hostname / IPv4address / IPv6reference *    hostname         =  *( domainlabel "." ) toplabel [ "." ] *    domainlabel      =  alphanum *                        / alphanum *( alphanum / "-" ) alphanum *    toplabel         =  ALPHA / ALPHA *( alphanum / "-" ) alphanum *    IPv4address    =  1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT *    IPv6reference  =  "[" IPv6address "]" *    IPv6address    =  hexpart [ ":" IPv4address ] *    hexpart        =  hexseq / hexseq "::" [ hexseq ] / "::" [ hexseq ] *    hexseq         =  hex4 *( ":" hex4) *    hex4           =  1*4HEXDIG *    port           =  1*DIGIT *  *    uri-parameters    =  *( ";" uri-parameter) *    uri-parameter     =  transport-param / user-param / method-param *                         / ttl-param / maddr-param / lr-param / other-param *    transport-param   =  "transport=" *                         ( "udp" / "tcp" / "sctp" / "tls" *                         / other-transport) *    other-transport   =  token *    user-param        =  "user=" ( "phone" / "ip" / other-user) *    other-user        =  token *    method-param      =  "method=" Method *    ttl-param         =  "ttl=" ttl *    maddr-param       =  "maddr=" host *    lr-param          =  "lr" *    other-param       =  pname [ "=" pvalue ] *    pname             =  1*paramchar *    pvalue            =  1*paramchar *    paramchar         =  param-unreserved / unreserved / escaped *    param-unreserved  =  "[" / "]" / "/" / ":" / "&" / "+" / "$" *  *    headers         =  "?" header *( "&" header ) *    header          =  hname "=" hvalue *    hname           =  1*( hnv-unreserved / unreserved / escaped ) *    hvalue          =  *( hnv-unreserved / unreserved / escaped ) *    hnv-unreserved  =  "[" / "]" / "/" / "?" / ":" / "+" / "$" *  *    SIP-message    =  Request / Response *    Request        =  Request-Line *                      *( message-header ) *                      CRLF *                      [ message-body ] *    Request-Line   =  Method SP Request-URI SP SIP-Version CRLF *    Request-URI    =  SIP-URI / SIPS-URI / absoluteURI *    absoluteURI    =  scheme ":" ( hier-part / opaque-part ) *    hier-part      =  ( net-path / abs-path ) [ "?" query ] *    net-path       =  "//" authority [ abs-path ] *    abs-path       =  "/" path-segments *    opaque-part    =  uric-no-slash *uric *    uric           =  reserved / unreserved / escaped *    uric-no-slash  =  unreserved / escaped / ";" / "?" / ":" / "@" *                      / "&" / "=" / "+" / "$" / "," *    path-segments  =  segment *( "/" segment ) *    segment        =  *pchar *( ";" param ) *    param          =  *pchar *    pchar          =  unreserved / escaped / *                      ":" / "@" / "&" / "=" / "+" / "$" / "," *    scheme         =  ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) *    authority      =  srvr / reg-name *    srvr           =  [ [ userinfo "@" ] hostport ] *    reg-name       =  1*( unreserved / escaped / "$" / "," *                      / ";" / ":" / "@" / "&" / "=" / "+" ) *    query          =  *uric *    SIP-Version    =  "SIP" "/" 1*DIGIT "." 1*DIGIT *  *    message-header  =  (Accept *                    /  Accept-Encoding *                    /  Accept-Language *                    /  Alert-Info *                    /  Allow *                    /  Authentication-Info *                    /  Authorization *                    /  Call-ID *                    /  Call-Info *                    /  Contact *                    /  Content-Disposition *                    /  Content-Encoding *                    /  Content-Language *                    /  Content-Length *                    /  Content-Type *                    /  CSeq *                    /  Date *                    /  Error-Info *                    /  Expires *                    /  From *                    /  In-Reply-To *                    /  Max-Forwards *                    /  MIME-Version *                    /  Min-Expires *                    /  Organization *                    /  Priority *                    /  Proxy-Authenticate *                    /  Proxy-Authorization *                    /  Proxy-Require *                    /  Record-Route *                    /  Reply-To *                    /  Require *                    /  Retry-After *                    /  Route *                    /  Server *                    /  Subject *                    /  Supported *                    /  Timestamp *                    /  To *                    /  Unsupported *                    /  User-Agent *                    /  Via *                    /  Warning *                    /  WWW-Authenticate *                    /  extension-header) CRLF *  *    INVITEm           =  %x49.4E.56.49.54.45 ; INVITE in caps *    ACKm              =  %x41.43.4B ; ACK in caps *    OPTIONSm          =  %x4F.50.54.49.4F.4E.53 ; OPTIONS in caps *    BYEm              =  %x42.59.45 ; BYE in caps *    CANCELm           =  %x43.41.4E.43.45.4C ; CANCEL in caps *    REGISTERm         =  %x52.45.47.49.53.54.45.52 ; REGISTER in caps *    Method            =  INVITEm / ACKm / OPTIONSm / BYEm *                         / CANCELm / REGISTERm *                         / extension-method *    extension-method  =  token *    Response          =  Status-Line *                         *( message-header ) *                         CRLF *                         [ message-body ] *  *    Status-Line     =  SIP-Version SP Status-Code SP Reason-Phrase CRLF *    Status-Code     =  Informational *                   /   Redirection *                   /   Success *                   /   Client-Error *                   /   Server-Error *                   /   Global-Failure *                   /   extension-code *    extension-code  =  3DIGIT *    Reason-Phrase   =  *(reserved / unreserved / escaped *                       / UTF8-NONASCII / UTF8-CONT / SP / HTAB) *  *    Informational  =  "100"  ;  Trying *                  /   "180"  ;  Ringing *                  /   "181"  ;  Call Is Being Forwarded *                  /   "182"  ;  Queued *                  /   "183"  ;  Session Progress *  *    Success  =  "200"  ;  OK *  *    Redirection  =  "300"  ;  Multiple Choices *                /   "301"  ;  Moved Permanently *                /   "302"  ;  Moved Temporarily *                /   "305"  ;  Use Proxy *                /   "380"  ;  Alternative Service *  *    Client-Error  =  "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 Large *                 /   "415"  ;  Unsupported Media Type *                 /   "416"  ;  Unsupported URI Scheme *                 /   "420"  ;  Bad Extension *                 /   "421"  ;  Extension Required *                 /   "423"  ;  Interval Too Brief *                 /   "480"  ;  Temporarily not available *                 /   "481"  ;  Call Leg/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 *  *    Server-Error  =  "500"  ;  Internal Server Error *                 /   "501"  ;  Not Implemented *                 /   "502"  ;  Bad Gateway *                 /   "503"  ;  Service Unavailable *                 /   "504"  ;  Server Time-out *                 /   "505"  ;  SIP Version not supported *                 /   "513"  ;  Message Too Large *  *    Global-Failure  =  "600"  ;  Busy Everywhere *                   /   "603"  ;  Decline *                   /   "604"  ;  Does not exist anywhere *                   /   "606"  ;  Not Acceptable * 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -