2014-01-25 68 views
4

我花了很多時間瞭解更多關於WebRTC,SIP和PSTN以及它們如何協同工作,尤其是在瀏覽器中接收電話的能力。我在Twilio的網站上花費了相當多的時間,我喜歡他們能夠讓您從PSTN接到您的瀏覽器的電話。瞭解SIP,WebRTC和PSTN如何協同工作

我真的很想知道他們如何能夠讓某人撥打普通的PSTN電話號碼,並將呼叫導向至網絡瀏覽器。

我碰到這個問題Incoming calls with SIP and WebRTC,並有一些瞭解,但還是有一些東西仍然缺失,需要有人爲我連接點,以便我可以充分理解。

爲了讓你明白我的問題,並給出一個明確的答案,讓我們看看下面的場景::

第1部分::: 假設我住在倫敦,有我自己的SIP服務器和SIP賬戶並且具有PSTN電話號碼並且該號碼被映射到SIP賬戶。現在我希望能夠在瀏覽器中接收來自世界各地的電話。當人們撥打PSTN號碼時,電話將通過我的電信運營商。那麼這些電話如何到達我的瀏覽器?在將呼叫指向我的瀏覽器之前,我是否必須將SIP服務器連接到電信運營商系統?

這是否意味着要能夠直接呼叫瀏覽器,電信公司系統必須知道,對於這個特定的PSTN號碼,呼叫必須到我的SIP服務器或類似的東西?

我想知道發生的所有調用步驟,以獲取到我的瀏覽器,包括軟件和(可能是硬件)之間。

第二部分::: Twilio給當地的數字給那些想要他們的人。我瞭解Twilio與電信公司簽署協議以獲得這些數字。 Twilio系統在能夠將呼叫引導至用戶的瀏覽器之前是否連接至所有這些電信公司系統?

感謝您的幫助。

回答

4

埃迪,

我會說你的問題可以分解爲2個技術解決方案所需。 首先 - 充分利用PSTN調用的WebRTC 二 - 瀏覽器

充分利用PSTN通話將來電的WebRTC

這樣做需要一個網關(GW)。在這個事實中,WebRTC沒有什麼特別的地方。將PSTN呼叫接入任何VoIP網絡(SIP,H.323,專有)需要一個終止PSTN呼叫和初始化VoIP呼叫的呼叫。對於WebRTC,有一些特殊要求,如安全性,WebSockets,Opus 9或G.711,這是很常見的)。 另一個特別的是WebRTC不指定信號。您可以使用SIP,但許多隻使用簡單的專有信令。這就是爲什麼許多解決方案會創建一種GW和WebRTC客戶端的端到端解決方案。在瀏覽器上

這是一個有點更復雜的要求,這真的取決於你的整體應用

來電。 如果您的瀏覽器沒有運行,沒有簡單的方法可以接聽來電。一個解決方案可能是一些讓用戶安裝的小應用程序,它會啓動瀏覽器,但是你會錯過不安裝的優勢,但它比完整的客戶端安裝要好得多,這要比這個小的啓動器應用程序需要更多的更新。 另一種情況是,用戶正在瀏覽您的網站,您看到他有麻煩或想要購買某些東西(或選擇任何其他用例),並要求他接聽來電。這是一個更簡單的情況,因爲你已經運行了JS。如上所述,這一切都取決於確切的應用和場景。

埃米爾

0

您可以使用plivo web SDK並開發您的應用程序。這樣你就不必擔心電信提供商或服務器。在此查看https://plivo.com/docs/sdk/web/

1

對於SIP代理(無論是VOIP電話還是WebRTC與SIP Websockets)之間的互通,我們需要一個PSTN網關,它主要由3個組件組成,用於控制的MGC(媒體網關控制器),SGW(信令網關)用於將信號ISUP從PSTN轉換爲SIP,用於將媒體從G711/G729轉換爲Opus/vp8的MGW(媒體網關控制器)。

至於號碼轉換,電信服務提供商維護一個ENUM基地映射sipuri的電話號碼。如果您是OTT玩家,您應該執行一次驗證/輸入來存儲映射值。

我不能評論Twilio的過程,因爲我不知道他們在做什麼,但架構指南使用網關來互聯IP世界和GSM/UMTS/PSTN世界。

+0

感謝您的回答 –

2

讓我們先看看語音環境的體系結構中的元素,包括SIP和突破到PSTN。

  • 語音切換:這將是您的軟交換機/ SIP服務器。它可能提供路由,媒體和應用服務。您的用戶將對此進行註冊,或者通過代理/ SBC將此註冊到此節點。這個節點甚至可以擁有webRTC模塊/節點,也可以是單獨的。
  • PSTN網關:這也可能包含在上面的軟交換中。它允許你的SIP呼叫跳出你的環境到外部世界(PSTN,GSM等)。

    • SIP外線:

    這可以用任一種或兩種來實現這是您的PSTNGW或軟切換至經由SIP在CSP /電信提供者之間的SIP互連。您可以將任何外部呼叫發送到SIP中繼,並且CSP可以連接到世界其他地方。他們收取每個電話的費用。

  • 您可以通過將模擬,GSM,SS7,ISDN卡插入軟交換機或GW來建立自己的PSTN分支。外部電話將通過這些外部網絡。

現在來自您的一個SIP用戶的去往PSTN的呼出電話將觸及軟交換機,並且會通過SIP中繼線或PSTN網關將其路由出去。而對於來自PSTN的入站呼叫,它將通過SIP中繼或PSTN網關進入,軟交換會將其路由到您的用戶。您的用戶可以是標準的註冊SIP用戶,也可以是webRTC用戶。無論哪種方式,電話將能夠被路由到他。

在你的例子:

第1部分:::您將需要您的SIP服務器/軟開關等連接到您的供應商,要麼通過SIP中繼或ISDN/GSM /模擬連接。對於SIP中繼線,提供商將爲您提供其範圍內的DID號碼,並將其映射到您的SIP中繼線。任何對該號碼的呼叫都將通過SIP幹線發送到您的SIP服務器。一旦它擊中你的SIP服務器,你就可以輕鬆地將它發送給任何SIP或webRTC用戶。您的SIP服務器很容易被Asterisk中,運行這些模塊:

  • SIPML5爲WebTRC
  • libPRI或DAHDI爲PSTN突圍

第2部分::: Twilio要麼有自己的互連解決方案電信公司通過SS7或SIP,或者他們與Telco合作提供突破。

+0

感謝您的回答。它增加了對正在接收的答案的更多見解 –