无条件前传

该项服务允许一个用户对于他的呼入呼叫可以转到另一个号码。使用该业务时对该用户号码的所有呼叫,不管被叫用户是在什么状态,都自动转到一个预先指定的号码。

例如:用户3000设置无条件前传3001;用户2000呼叫3000,此时3001振铃,显示主叫号码2000。详细消息流程如下:

A (2000)          IPBX               C(3001)

|----invite(3000)-->------|------invite(3001)--->-----|

|----<--200OK -------------|----<--200OK---------------|

|----------ACK--->----------|-----------ACK-->------------|

|------------RTP-------------|------------RTP---------------|

(1)    A(2000)呼叫B(3000)

(2)    用户A的invite请求到底IPBX,IPBX对被叫号码3000进行分析

(3)    被叫号码3000设置无条件前传号码3001

(4)    IPBX转发invite请求给用户3001

(5)    被叫3001摘机,并回复200OK消息给IPBX

(6)    IPBX收到200OK,并转发给主叫方

(7)    主叫方收到200OK,回复确认消息ACK

(8)    IPBX转发ACK确认消息给用户C

主叫方2000呼叫用户3000

INVITEsip:[email protected]:5060;transport=udp SIP/2.0

Via: SIP/2.0/UDP172.161.10.79:5060;rport;branch=z9hG4bK664046211

From: "2000"<sip:[email protected]:5060;user=phone>;tag=1696473636

To: <sip:[email protected]>

Call-ID: [email protected]:5060

CSeq: 38 INVITE

Contact:<sip:[email protected]:5060>

Max-Forwards: 30

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS,NOTIFY, REFER, REGISTER, MESSAGE

Content-Type: application/sdp

Content-Length:   295

v=0

o=ower 1376039693 1376039693 IN IP4172.161.10.79

s= ower

c=IN IP4 172.161.10.79

t=0 0

m=audio 62830 RTP/AVP 0 8 18 3 4 101

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:18 G729/8000

a=rtpmap:3 GSM/8000

a=rtpmap:4 G723/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

IPBX收到主叫方的呼叫请求,并分析被叫号码3000,发现被叫码号3000设置无条件前传号码3001;IPBX发送呼叫请求给被叫号码3001

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP172.161.10.8:5060;branch=z9hG4bK77f8c784

Supported: 100rel

Allow: INVITE, ACK, CANCEL, BYE, UPDATE,REFER, PRACK, REGISTER, INFO

From: "2000"<sip:[email protected]>;tag=0b2a58bb

Contact: <sip:[email protected]:5060>

To: <sip:[email protected]>

Call-ID:[email protected]

CSeq: 1435 INVITE

Max-Forwards: 70

Supported: timer

Session-Expires: 90

Content-Type: application/sdp

Content-Length: 308

v=0

o=root 2012792708 2012792709 IN IP4172.161.10.8

s=session

c=IN IP4 172.161.10.8

t=0 0

m=audio 15920 RTP/AVP 0 8 18 3 4 101

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:18 G729/8000

a=rtpmap:3 GSM/8000

a=rtpmap:4 G723/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:10

3001收到IPBX发送的呼叫请求,摘机后向IPBX发送200OK

SIP/2.0 200 OK

Via: SIP/2.0/UDP172.161.10.8:5060;branch=z9hG4bK77f8c784

From: "2000"<sip:[email protected]>;tag=0b2a58bb

To:<sip:[email protected]>;tag=310e43c7c

Call-ID:[email protected]

CSeq: 1435 INVITE

Contact: <sip:[email protected]:5060>

Content-Type: application/sdp

Content-Length: 199

v=0

o=root 1426816092 1426816092 IN IP4172.161.10.3

s=session

c=IN IP4 172.161.10.3

t=0 0

m=audio 15530 RTP/AVP 0 101

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

IPBX收到被叫方发送的摘机响应后,并转发200OK响应给主叫方

SIP/2.0 200 OK

Via: SIP/2.0/UDP172.161.10.79:5060;rport;branch=z9hG4bK664046211

From: "2000"<sip:[email protected]:5060;user=phone>;tag=1696473636

To:<sip:[email protected]>;tag=7e5f4f914

Call-ID: [email protected]:5060

CSeq: 38 INVITE

Contact: <sip:[email protected]:5060>

Content-Type: application/sdp

Content-Length: 211

v=0

o=root 1410984694 1410984694 IN IP4172.161.10.8

s=session

c=IN IP4 172.161.10.8

t=0 0

m=audio 10276 RTP/AVP 0 101

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:10

主叫方2000收到IPBX发送的摘机响应后,回复确认消息ACK给IPBX

ACK sip:[email protected]:5060 SIP/2.0

Via: SIP/2.0/UDP172.161.10.79:5060;branch=z9hG4bK57319558

From: "2000"<sip:[email protected]:5060;user=phone>;tag=1696473636

To: <sip:[email protected]>;tag=7e5f4f914

Call-ID: [email protected]:5060

CSeq: 38 ACK

Max-Forwards: 30

Content-Length: 0

IPBX收到主叫方发送的摘机确认消息ACK,并转发给被叫方,至此通话建立成功,可以进行语音通话

ACK sip:[email protected]:5060 SIP/2.0

Via: SIP/2.0/UDP172.161.10.8:5060;branch=z9hG4bK77f8c784

From: "2000"<sip:[email protected]>;tag=0b2a58bb

To: <sip:[email protected]>;tag=310e43c7c

Call-ID:[email protected]

CSeq: 1435 ACK

Max-Forwards: 70

Content-Length: 0

时间: 2024-11-05 20:38:05

无条件前传的相关文章

Vue.js 入门指南之“前传”(含sublime text 3 配置)

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

前传——一个文科生转行做编程的参考样本

动笔                                                                                                                                                                                      听闻前辈讲述写博客的诸多好处,早有开始写「技术博客」的想法,但囿于自身浅薄的「技术」,以及轻微的强迫症——总想准备充分后下笔——比如

大数据Spark蘑菇云前传第15课:Scala类型参数编程实战及Spark源码鉴赏(学习笔记)

前传第15课:Scala类型参数编程实战及Spark源码鉴赏 本課課程: Spark源码中的Scala类型系統的使用 Scala类型系統编程操作实战 Spark源码中的Scala类型系統的使用 classOf[RDD[_]] 這個也是类型系統 這里的意思是說 B 這種類型必需至少是 A 這樣類型 Ordering Scala类型系統编程操作实战 作為類型系統最大的就可以對類型進行限制,在Scala 中的類型系統,他本身也作為對象.e.g. 我們可以建立 Person 這個類,現在可以建立一個什麼

SpringMVC深度探险(一) —— SpringMVC前传

本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330537 在我们熟知的建立在三层结构(表示层.业务逻辑层.持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多.因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷. 笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论.事实上,每一种解决方案都有着自身独有的

uboot学习前传

uboot的学习前传 为什么要有uboot uboot主要作用是启动操作系统内核的. uboot还要负责部署整个计算机系统. uboot中还要有操作flash等板子上的硬件驱动 uboot还得提供一个命令行让我们可以在命令行下可以进行操作 uboot就是干以上或者更多事情的一个裸机程序而已. 计算机系统组成的三个重要部件: CPU + 外部存储器(flash/硬盘) + 内部存储器(内存, DDR/SDRAM/SRAM) PC机的启动过程: 在静态时,BIOS程序放在norflash中,在PC机

止增笑耳的星际迷航前传

假期闲来无事,看了几部影碟,其中尤以星际迷航11前传(2009年上映)不得不让人吐槽.这么一部漏洞百出的糟粕,在豆瓣评分居然还高达7.9分,实在是让人有些诧异豆瓣文青的水平. bug实在太多,现将之细数如下,欢迎补充: 1.企业号的形状根本就不是一个战舰,在这一集里居然还能攻击其他星舰,而其他剧集里都是比较强调它的速度,曲速前进什么的,这才是对的: 2.Kirk船长等人,哦,不,应该叫神啊,到任何星球执行任务居然都能像在地球一样随便呼吸,完全抛开头套: 3.这个系列的所有剧集都完全没有重力差异的

无应答前传消息流程

无应答前传 激活无应答呼叫前转业务后,当电话响铃无人接听,电话会自动转移到事前设定的号码上. INVITEsip:[email protected]:5060;transport=udp SIP/2.0 Via: SIP/2.0/UDP192.168.11.137:5060;rport;branch=z9hG4bK1075141334 From: "1003"<sip:[email protected]:5060;user=phone>;tag=387369502 To:&

Vue.js 入门指南之“前传”

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

grep前传之侠影之谜 (Grep begins)

一.自述 我叫grep,是同你们一样,生活在都市里.每天做着重复的事,忙碌着. 说起来这个好笑,我生活的国家叫Bourne-Again Shell,因为我国来往人多,大家读者不便,于是心口不一的叫它"bash".bash,呵呵,好像被狠狠的砸了一下. 眼前这座烂尾楼便是我藏身的地方,它叫/bin,这里的居民都是上班族,那天下班后我数了一下用户,发现114个住户!天哪,好一座危楼! 在这个国家每家每户都供奉着一尊雕像,它叫root,对了,我和我的家人(group)都属于它,无理由的信奉着