97成人免费视频,97视频免费公开成人福利,免费视频99,99婷婷,国产伊人久久,亚洲视频欧美,国产精品福利久久

您當(dāng)前的位置是:  首頁(yè) > 新聞 > 國(guó)內(nèi) >
 首頁(yè) > 新聞 > 國(guó)內(nèi) >

最常用的18個(gè)SIP呼叫業(yè)務(wù)流程詳解-音樂(lè)等待(MoH)

2019-01-25 14:02:21   作者:james.zhu   來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  Music on Hold(MoH),我們稱之為呼叫音樂(lè)等待或者音樂(lè)等待。顧名思義,就是在等待過(guò)程中同時(shí)對(duì)等待方播放音樂(lè)媒體或者語(yǔ)音提示。通過(guò)音樂(lè)等待的方式會(huì)增加用戶的體驗(yàn),讓用戶不再感覺(jué)等待時(shí)間的煩躁。RFC7088專門
  定義了語(yǔ)音等待的規(guī)范。IPPBX的功能熱鍵可啟用MoH功能。
  音樂(lè)等待具體的實(shí)現(xiàn)方式是,當(dāng)呼叫方(Alice)呼叫被呼叫方(Bob)后,接聽(tīng)以后,被呼叫方用戶(Bob)設(shè)置此呼叫為等待狀態(tài),在等待狀態(tài)時(shí),通過(guò)媒體服務(wù)器對(duì)呼叫方播放音樂(lè),或者其他的自定義的語(yǔ)音流。被呼叫方通過(guò)對(duì)媒體服務(wù)器或者音樂(lè)播放服務(wù)器發(fā)送一個(gè)REFER消息,攜帶呼叫方信息。然后媒體服務(wù)器對(duì)呼叫方發(fā)起INVITE,替換已經(jīng)創(chuàng)建的會(huì)話中的被呼叫方。然后,媒體服務(wù)器對(duì)被呼叫方(Alice)發(fā)送音樂(lè)媒體流服務(wù)。一定時(shí)間后,Bob重新設(shè)置等待的呼叫,對(duì)呼叫方(Alice)發(fā)送INVITE消息,然后替換會(huì)話中的媒體服務(wù)器,變成Bob和Alice之間的通話。注意,這里仍然使用了渲染功能,但是在F5流程中實(shí)現(xiàn),表示其等待狀態(tài)開(kāi)啟。如果Alice拒絕對(duì)端的音樂(lè)播放,則Alice仍然會(huì)處于等待功能,但是會(huì)是靜音狀態(tài)(無(wú)聲音)。
  通過(guò)以上呼叫流程我們知道,完成音樂(lè)等待流程處理需要23個(gè)flow。其中,F(xiàn)5開(kāi)啟音樂(lè)等待功能,F(xiàn)12開(kāi)始媒體服務(wù)器替換了Bob,媒體服務(wù)器對(duì)Alice發(fā)送音樂(lè)數(shù)據(jù)流確認(rèn)。在F12的流程中使用了渲染功能,增加了對(duì)automation和byeless功能標(biāo)簽的支持。關(guān)于automation tag 的功能在rfc3840中定義,關(guān)于byeless tag 的支持在rfc4235中定義。rfc3840定義了媒體服務(wù)器的能力支持,rfc4235定義了自動(dòng)對(duì)話事件包管理機(jī)制。具體的細(xì)節(jié)讀者可以參考鏈接資源。以下是一個(gè)完整的音樂(lè)等待的呼叫流程,配合了SIP消息。我們根據(jù)此圖例來(lái)進(jìn)一步說(shuō)明具體的呼叫流程。
  首先是Alice對(duì)Bob發(fā)送INVITE消息(F1),表示要對(duì)Bob進(jìn)行呼叫。
  Bob對(duì)Alice發(fā)送180 振鈴消息(F2):
  緊接著,Bob對(duì)Alice發(fā)送200 ok消息(F3):
  Alice對(duì)Bob發(fā)送確認(rèn)ACK(F4),開(kāi)始語(yǔ)音流傳輸通話。
  之后,Bob把Alice呼叫設(shè)置為語(yǔ)音等待。Bob重新發(fā)送一個(gè)新的INVITE攜帶了SDP,并且包含了一個(gè)a=sendonly,表示等待開(kāi)啟。執(zhí)行F5流程。
  然后,Alice回復(fù)Bob 200 OK消息(F6),在SDP中增加了a=reconly 表示接受等待。
  Bob回復(fù)Alice確認(rèn)ACK,無(wú)RTP語(yǔ)音流。此時(shí),Bob準(zhǔn)備開(kāi)始執(zhí)行音樂(lè)媒體流服務(wù)。
  Bob對(duì)媒體服務(wù)器發(fā)送REFER消息,通知媒體服務(wù)器使用Alice替換Bob。
  媒體服務(wù)器對(duì)Bob發(fā)送202 消息,表示接受這個(gè)請(qǐng)求(F9)。
  然后媒體服務(wù)器發(fā)送Notify消息(F10):
  Bob發(fā)送200 OK(F11):
  接下來(lái),媒體服務(wù)器對(duì)Alice發(fā)送INVITE消息,替換Bob(F12),注意這里的SIP消息中增加了渲染功能的支持,包括automation和byeless功能標(biāo)簽,需要啟用事件包處理,媒體服務(wù)器能力支持等渲染功能。
  以上圖例中沒(méi)有顯示contact中的渲染功能標(biāo)簽,但是在RFC5359中的音樂(lè)等待(F12)中的消息細(xì)節(jié)是:
  F12 INVITE Music Server -> Alice
  INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
  Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74rf
  Max-Forwards: 70
  From: <sips:music@server.example.com>;tag=0111
  To: <sips:a8342043f@atlanta.example.com;gr>
  Call-ID: a5-75-34-12-76@server.example.com
  CSeq: 1 INVITE
  Referred-By: <sips:bob@biloxi.example.com>     Contact: <sips:music@server.example.com>;automaton
  ;+sip.byeless;+sip.rendering="no"
  Require: replaces
  Replaces: 12345600@atlanta.example.com
  ;from-tag=23431;to-tag=1234567
  Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
  Supported: replaces
  Content-Type: application/sdp
  Content-Length: …
  Alice接受媒體服務(wù)器的請(qǐng)求,對(duì)媒體服務(wù)器發(fā)送200 OK(F13):
  媒體服務(wù)器收到200 OK以后,對(duì)Alice發(fā)送確認(rèn)ACK消息(F14),然后對(duì)Alice發(fā)送音樂(lè)媒體流,Alice現(xiàn)在可以聽(tīng)到媒體服務(wù)器對(duì)Alice播放的音樂(lè)文件。
  因?yàn)橐呀?jīng)播放媒體流流程開(kāi)始,Alice對(duì)Bob發(fā)送BYE消息(F16):
  Bob接受來(lái)自于Alice的BYE消息,對(duì)Alice發(fā)送200 OK(F16)。
  媒體服務(wù)器對(duì)Bob發(fā)送NOTIFY消息(F17),表示媒體播放成功,并且包含一個(gè)200 OK的響應(yīng)消息。
  Bob對(duì)媒體服務(wù)器響應(yīng)了一個(gè)200 OK(F18),表示收到此提示,同時(shí)包含了dialog的確認(rèn)內(nèi)容,包括了REFER需要的call-id,to tga和from tag。
  到此為止,Alice被完全駐留在媒體服務(wù)器的會(huì)話中。接下來(lái),Bob可能需要重新接聽(tīng)Alice的電話,那么,Bob就會(huì)重新對(duì)Alice發(fā)送INVITE請(qǐng)求消息(F19),然后替換會(huì)話中的媒體服務(wù)器。
  Alice對(duì)Bob回復(fù)200 OK消息,表示接受替換,重新恢復(fù)到通話狀態(tài)(F20)。
  Bob最后對(duì)Alice回復(fù)確認(rèn)ACK(F21),可以恢復(fù)正常通話狀態(tài)。
  雙方通話以后,因?yàn)槊襟w服務(wù)器仍然和Alice有會(huì)話的綁定關(guān)系,因此為了結(jié)束媒體播放,Alice仍然需要對(duì)媒體服務(wù)器發(fā)送一個(gè)BYE消息,表示音樂(lè)等待播放結(jié)束(F22):
  媒體服務(wù)器收到200 OK以后,對(duì)Alice發(fā)送一個(gè)最后的200 OK(F23),告知媒體服務(wù)器已經(jīng)收到Alice的響應(yīng),媒體服務(wù)器正式釋放被駐留在媒體服務(wù)器的會(huì)話,解除Alice對(duì)媒體服務(wù)器的綁定關(guān)系。Bob和Alice的正常通話才算成功完成,雙方開(kāi)始正式的通話過(guò)程。
  在音樂(lè)等待的處理流程中使用了REFER的method來(lái)幫助處理音樂(lè)等待,具體的RFER規(guī)范在RFC3515中定義,讀者可以查閱學(xué)習(xí)。
  我們的討論中使用了一般的IPPBX媒體服務(wù)器來(lái)替換音樂(lè)媒體服務(wù)器,用戶也可以通過(guò)第三方的音樂(lè)服務(wù)的服務(wù)器端來(lái)處理音樂(lè)文件,用戶使用過(guò)程中可能可以獲得更多的體驗(yàn)。另外,很多媒體服務(wù)器也可以對(duì)其播放文件實(shí)現(xiàn)自定義處理。例如,在Asterisk/FreePBX或者FreeSWITCH開(kāi)源平臺(tái)都可以通過(guò)修改配置文件來(lái)實(shí)現(xiàn)自定義的MoH文件支持。
  在上面的討論中,我們僅根據(jù)呼叫流程的正常狀態(tài)說(shuō)明的整個(gè)MoH的處理過(guò)程。事實(shí)上,在MOH的實(shí)際部署過(guò)程中,讀者會(huì)遇到很多的其他的技術(shù)問(wèn)題。例如,播放文件的格式支持問(wèn)題,終端兼容性問(wèn)題,語(yǔ)音播放的帶寬消耗問(wèn)題,音樂(lè)播放的服務(wù)會(huì)話的管理問(wèn)題,回復(fù)消息失敗問(wèn)題,安全問(wèn)題等。所以,一般的MoH功能僅在內(nèi)網(wǎng)環(huán)境下使用一般不會(huì)出現(xiàn)問(wèn)題,如果通過(guò)第三方的媒體平臺(tái)提供所謂的比較靈活的媒體播放業(yè)務(wù),讀者一定要注意以上問(wèn)題。
  參考資料:
  https://www.rfc-editor.org/rfc/rfc5359.txt
  https://tools.ietf.org/html/rfc7088
  https://www.rfc-editor.org/rfc/rfc3515.txt
  https://tools.ietf.org/html/rfc3840
  https://tools.ietf.org/html/rfc3891
  https://support.sonus.net/display/SBXDOC51/GRUU+Support
  www.freepbx.org.cn
  https://svn.resiprocate.org/viewsvn/resiprocate/main/resip/recon/MOHParkServer/doc/MOHParkServer_User_Documentation.pdf?revision=8937&view=co
  http://ijsetr.com/uploads/463152IJSETR13872-273.pdf
  https://tools.ietf.org/html/rfc3665
  https://tools.ietf.org/html/rfc3265
  https://tools.ietf.org/html/rfc3515
  https://tools.ietf.org/html/rfc4317
     
  關(guān)注微信公眾號(hào):asterisk-cn,獲得有價(jià)值的Asterisk行業(yè)分享
  Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
  Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
  Asterisk/FreePBX中國(guó)合作伙伴,官方qq技術(shù)分享群(3000千人):589995817
 
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題

CTI論壇會(huì)員企業(yè)

阆中市| 聂拉木县| 南乐县| 仁寿县| 正定县| 太白县| 安岳县| 威海市| 于都县| 县级市| 武义县| 类乌齐县| 会昌县| 咸阳市| 五常市| 沙田区| 北流市| 梁山县| 南开区| 沅陵县| 图木舒克市| 广丰县| 通州市| 石楼县| 洪雅县| 安化县| 永城市| 玉环县| 林芝县| 桐柏县| 宁夏| 兴安盟| 民勤县| 龙门县| 宜君县| 运城市| 巴楚县| 金川县| 固阳县| 钟祥市| 吴忠市|