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)

Hello SIP Protocol的更多相关文章
- 开源sip server & sip client 和开发库 一览
http://www.voip-info.org/wiki/view/Open+Source+VOIP+Software http://blog.csdn.net/xuyunzhang/article ...
- Open Source VOIP applications, both clients and servers (开源sip server & sip client 和开发库)
SIP Proxies SBO SIP Proxy Bypass All types of Internet Firewall JAIN-SIP Proxy Mini-SIP-Proxy A very ...
- Tencent://Message/协议的实现原理
腾讯官方通过 Tencent://Message/协议可以让QQ用户显示QQ/TM的在线状态发布在互联网上:并且点击 XXX ,不用加好友也可以聊天 官方链接: http://is.qq.com/w ...
- Linux下编译内核配置选项简介
Code maturity level options代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完 ...
- openerp - asterisk connector(转载)
原文:http://www.akretion.com/open-source-contributions/openerp-asterisk-voip-connector OpenERP - Aster ...
- 基于QT开发的第三方库
基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库 目录(?)[+] 文章来源:http://blog.csdn.net ...
- RFC3261--sip
本文转载自 http://www.ietf.org/rfc/rfc3261.txt 中文翻译可参考 http://wenku.baidu.com/view/3e59517b1711cc7931b716 ...
- 使用 pjsip 代码独立开发
1.在不改动pjsip代码的情况下,和pjsip工程目录并行建立win32控制台程序工程P2PTraversal 目录结构如下: . ├── pjproject-2.6 └── pjsipdemo 2 ...
- monit官方摘录
Here are the legal global keywords: Keyword Function ----------------------------------------------- ...
随机推荐
- 微信支付,退款时,出现了内部错误-网站中X509Certificate2加载证书时出错
今天给阿里云,虚拟主机 网站配置了加密证书文件,用类X509Certificate2加载证书文件时,一直报出现了内部错误,但是Demo中用控制台程序加载证书没任何问题 读取证书文件的语句: X509C ...
- 5G投资逻辑
5G投资逻辑 关注光模块生产厂商. 通信射频滤波器,功率放大器生产厂商. 光无源器件的需求增多
- Delphi IdHTTP1下载文件防止假死 (
在Form1中添加控件:两个Indy控件:IdAntiFreeze1,IdHTTP1;一个按钮 :Button1;一个进度条 :ProgressBar1 显示下载速度 procedure TForm1 ...
- bui框架nav导航图标一览
权限 .nav-permission 仓库 .nav-storage 库存 .nav-inventory 用户 .nav-user 订单 .nav-order 商品 . ...
- Word中一条删除不掉的单或双横线的解决办法
Word中一条删除不掉的单或双横线 有时你或许会遇到这样一种情况:在word中,有一条单或双横线怎么都删除不了,并且具有这样的特点: 在上面输入文字,横线会自动下调一行,如果文章过页,每页的尾部会有一 ...
- IDEA修改git账号及密码的方法 ----绝壁好使
就这个这个位置,之前的账号信息就保存在这里,直接编辑修改,修改成你现在的账号, idea提交的时候就能直接提交,或者提交的时候要输入账号密码,ok,我的微信 18550918581,不懂再找我
- python网络爬虫学习笔记(一)Request库
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...
- Codeforces Round #551 (Div. 2) A-E
A. Serval and Bus 算出每辆车会在什么时候上车, 取min即可 #include<cstdio> #include<algorithm> #include< ...
- 性能测试day07_性能瓶颈和分析
其实如果之前都做的很到位的话,那么再加上APM工具(dynaTrace等),监控到非常细节,那么我们跑一个业务,我们就能完全清楚的知道每个请求的时间,也能知道请求所产生sql的时间,这样你自然而然都知 ...
- Idea的pom文件导入依赖包仍然报错