sip180183区别

sip180183区别
精准灌溉系统海棠sip 180 183区别:
USB重定向180 不带sdp, 183带sdp信息;
如果A的SIP终端收到183,它就协商媒体,将B端发过来的Early Media在⾃⼰的扬声器⾥放出来;但如果收到的是180,没有SDP就没法协商媒体,因此,B就没法给A发Early Media了。怎么办,总不能让主叫⽤户⼲等着啊,所以,A的话机在这种情况下能⾃⼰产⽣⼀个回铃⾳,或任何⽤户在A话机上设置的⾳乐
⾸先,我们先看⼀种熟悉的情况。FreeSWITCH可以假装它就是B,这样,配置⽅法跟上⾯讲的基本⼀样,只是它在假装后还要假戏真做,要⽤bridge这个Application再去呼叫B,并把电话接通。
<action application="ring_ready"/>
<action application="sleep" data="2000"/>
尾气吸收塔<action application="answer"/>
<action application="playback" data="/tmp/hello.wav"/>
<action application="bridge" data="user/B"/>
压花模具所以在上⾯的配置中,⾄于是回180还是183,配置⽅式跟上⾯讲的⼀模⼀样,就没必要多说了。
其次,FreeSWITCH⼼情好,想听听B的意见。如果它即不执⾏ring_ready,也不执⾏answer,⽽是直接⽤bridge去呼叫B。
<action application="bridge" data="user/B"/>
这种情况其实也简单,那就是,如果B向FreeSWITCH回复180,FreeSWITCH就向A回180;如果B回183,FreeSWITCH就向A回183。这种情况其实就相当于FreeSWITCH不存在,所有消息都是透明的。(不过,要记住:FreeSWITCH是⼀个B2BUA,即它是⼀个中间⼈,它不会直接拿B回给它的180或183消息“转”给A,⽽是⾃⼰新产⽣了⼀个180或183消息回给A。当然,也许你不关⼼这个,但你说得越不清楚,我越累啊,要不然⼈家还会说我的回答不严谨呢。或者,万⼀我猜错的你问的意思呢?)
再次,FreeSWITCH跟B这两天不⼤对付,什么事情都拧把。B回180,FreeSWITCH就回183,B回183,FreeSWITCH就回180。
好吧,看起来是越来越复杂了。⼜是两种情况。
先看B回180的情况。FreeSWITCH要想给A回⼀个183,由于B的180中不带媒体,FreeSWITCH就要“造”⼀个媒体出来,因此,它想了这种⼀种办法,在bridge之前造⼀个媒体:
<action application="set" data="ringback=/tmp/ring.wav"/>
<action application="bridge" data="user/B"/>
由于在执⾏bridge之前还没有B,因此FreeSWITCH不知道什么时候B回180还是183。通过在bridge之前使⽤set设置⼀个变量(ringback),实际上相当于FreeSWITCH给bridge下了⼀个套,到了bridge阶段,不管你什么时候B回180,FreeSWITCH都会向A播放事先“造”好的回铃⾳ring.wav。当然,FreeSWITCH要向A发送媒体前要先⽤183建⽴媒体通道,这就完成了180到183的转换。
所以,这也是FreeSWITCH设计精巧之处——同是⼀个bridge,通过⼀个ringback变量改变了它的⾏为。
再看183变180的情况。
游泳馆水处理如果B向FreeSWITCH回了183,FreeSWITCH要向A回180,那就不能把媒体信息送给A。所以,实现也很简单,还是⼀个简单的bridge,只是,把B送来的Early Media忽略掉就⾏了:
<action application="ring_ready"/>
<action application="bridge" data="{ignore_early_media=true}user/B"/>
跟set不同。set是⼀个Application,它作⽤于当前的Channel,即A那⼀个Channel(那时候还没有B)。⽽{ignore_early_media=true}这种语法,在建⽴B端的Channel的同时,将ignore_early_media作⽤于B。再强调⼀次,FreeSWITCH是⼀个B2BUA,因此A跟B间的通话要产⽣两个Channel,即所谓的a-leg和b-leg。
水质快速检测在建⽴B通道的时候,ignore_early_media也是给bridge下了⼀个套。即不管什么时候B回了183,忽略它。由于我们选择了忽略,因此,为了让A仍能听到回铃⾳,我们⽤ring_ready在bridge前送⼀个180。严格来说,它不是183变180,因为FreeSWITCH以收到183前就已经送出了180,但是,如果你不趴在FreeSWITCH内部看,谁知道什么时候变得呢?
N种情况讲了N种了,永远都会有N+1。既然FreeSWITCH位于中间,那它能不能把B发过来的⼴告(彩铃)换成它⾃⼰的⼴告呢?能是能,但我不教你怎么做。不过,不幸的是,如果你不是特别笨的话,我上⾯已经教会你了……

本文发布于:2024-09-22 06:42:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/207935.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:媒体   情况   通道   消息   时候   听听   在建   设置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议