引言
通過語音傳遞信息是人類最重要、最常用和最方便的交換信息的形式。語言是人類持有的功能,聲音是人類常用的工具,是相互傳遞信息的最主要的手段。因此,語音是人們構成思想疏通和感情交流的最主要的途徑。當我們還在用著普通電話(插電話線)的時候,數字語音電話(簡稱IP電話)已經走人了每個人的生活。
隨著計算機技術和網絡技術的發展,語音壓縮和實時傳輸控制技術的不斷發展,使得在IP網絡上傳輸語音數據變得不再困難。VoIP就是利用IP網絡傳送話音的技術,也稱網絡電話或IP電話。在多媒體技術和網絡互連技術的推動下,VoIP技術誕生雖然時間很短,但發展迅猛。同時,隨著嵌入式技術的不斷發展,嵌入式技術從過去工業控制的應用模式逐步滲透進入消費電子產業。嵌入式VoIP終端作為嵌入式技術與VoIP技術的結合,有著廣闊的發展前景。
什么是VoIP
VoIP(Voice over Internet Protocol)簡而言之就是將模擬信號(Voice)數字化,以數據封包(Data Packet)的形式在IP網絡(IP Network)上做實時傳遞。VoIP最大的優勢是能廣泛地采用Internet和全球IP互連的環境,提供比傳統業務更多、更好的服務。
---摘自<百度百科>
通俗說VOIP是把話音或傳真轉換成數據,然后與數據一起共享同一個IP網絡(Internet互聯網)。 由于話音和傳真在Internet上免費搭乘了"順風車",所以點對點(網關---網關)國際或國內長途通訊是完全免費的(點融網各地分公司通過撥打內部分機號至上海總部內部的電話就是免費的)。
IP網絡可以是Internet、IPLC(國際專線)、無線網絡等,只要是采用IP協議( Internet Protocol ) 就可以了。VoIP系統就是把傳統的電話網與互聯網組合搭配在一起使用。
在浩瀚的IP網絡中要如何正確的尋找到要通話的對方并建立對答,同時也能依照彼此資料的處理能力來傳送語音數據,這中間必須藉由國際電信組織所擬定的標準協議才能達到。如今,市面上的網絡電話大致都會遵循VoIP走向的三大主流協定 H.323、MGCP及SIP等3種標準協議。目前產品支持SIP已經漸漸代替H.323成為現在的主流。
什么是SIP
SIP 是 Session Initation Protocol (會話初始協議)的縮寫;IETF制訂的多媒體通信系統框架協議之一,它被用來創建、修改、和終結一個或多個參加者參加的會話進程。這些會話包括Internet多媒體會議、Internet電話、遠程教育以及遠程醫療等。即所有的因特網上交互式兩方或多方多媒體通信活動,統稱為多媒體會話。有關SIP的完整定義最早出現在 1999 年公布的RFC 2543 中;當前SIP詳細定義于RFC 3261 (June 2002)。
SIP在網絡中的位置
在TCP/IP五層模型中屬于應用層協議;在OSI七層模型中屬于Session層協議
SIP 單獨不能完成多媒體呼叫,必須要與其他協議一起才能組建完整的多媒體通信系統,與RTP/RTCP、SDP、 MGCP 、DNS等協議配合共同完成多媒體會話過程。
SIP的主要消息
SIP消息是基于文本的協議(UTF-8 字符集),與E-mail 和 HTTP類似,便于跟蹤和調試。SIP 消息 用于從Client到Server的請求和從Server到Client的響應。
消息分為兩類:請求和響應
以下為實例來詳解一個完整的呼叫流程。
我們基于以下約定:
SoftX3000A的IP地址為192.169.200.61;
SoftX3000B的IP地址為192.169.100.50;
SoftX3000A控制的SIP PhoneA的電話號碼為66600003;
SoftX3000B控制的SIP PhoneB的電話號碼為5550045;
SIP PhoneA為主叫、SIP PhoneB為被叫,被叫先掛機。
事件1:SoftX3000A控制的SIP PhoneA摘機,撥打 SoftX3000B控制的SIP PhoneB。SoftX3000A向SoftX3000B發INVITE消息,邀請SoftX3000B加入會話。SoftX3000A還通過INVITE消息的會話描述,將自身的IP地址:192.169.200.61,SIP PhoneA的IP地址:192.169.200.101、端口號:30014、支持的靜荷類型、靜荷類型對應的編碼等信息傳送給SoftX3000B。
INVITE sip:5550045@192.169.100.50 SIP/2.0
From: ;tag=64e3f587
To:
CSeq: 1 INVITE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.200.61:5061;branch=z9hG4bKff661c627
Contact:
Supported: 100rel,100rel
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER
Content-Length: 184
Content-Type: application/sdp
v=0
o=HuaweiSoftX3000 1073741831 1073741831 IN IP4 192.169.200.61
s=Sip Call
c=IN IP4 192.169.200.101
t=0 0
m=audio 30014 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
事件2:SoftX3000B給SoftX3000A回100 Trying表示已經接收到請求消息,正在對其進行處理。
SIP/2.0 100 Trying
From: ;tag=64e3f587
To:
CSeq: 1 INVITE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.200.61:5061;branch=z9hG4bKff661c627
Content-Length: 0
事件3:SoftX3000B給SoftX3000A回180 Ringing響應通知SoftX3000A SIP PhoneB已振鈴。
SIP/2.0 180 Ringing
From: ;tag=64e3f587
To: ;tag=2dc18caf
CSeq: 1 INVITE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.200.61:5061;branch=z9hG4bKff661c627
Contact:
Content-Length: 0
事件4:SoftX3000B給SoftX3000A回200 OK響應表示其發過來的INVITE請求已經被成功接受、處理。并且通過該消息將自身的IP地址:192.169.100.50,SIP PhoneB的IP地址:192.169.100.71、端口號:40000、支持的靜荷類型、靜荷類型對應的編碼等信息傳送給SoftX3000A。
SIP/2.0 200 OK
From: ;tag=64e3f587
To: ;tag=2dc18caf
CSeq: 1 INVITE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.200.61:5061;branch=z9hG4bKff661c627
Contact:
Content-Length: 159
Content-Type: application/sdp
v=0
o=HuaweiSoftX3000 1073741826 1073741826 IN IP4 192.169.100.50
s=Sip Call
c=IN IP4 192.169.100.71
t=0 0
m=audio 40000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
事件5:SoftX3000A發ACK消息給SoftX3000B,證實已經收到SoftX3000B對于INVITE請求的最終響應。
ACK sip:5550045@192.169.100.50:5061;transport=udp SIP/2.0
From: ;tag=64e3f587
To: ;tag=2dc18caf
CSeq: 1 ACK
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.200.61:5061;branch=z9hG4bK7d4f55f15
Max-Forwards: 70
Content-Length: 0
事件6:SIP PhoneB掛機,SoftX3000B發BYE請求消息給SoftX3000A,請求結束本次會話。
BYE sip:66600003@192.169.200.61:5061 SIP/2.0
From: ;tag=2dc18caf
To: ;tag=64e3f587
CSeq: 1 BYE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.100.50:5061;branch=z9hG4bK2a292692a
Max-Forwards: 70
Content-Length: 0
事件7:SoftX3000A給SoftX3000B回487響應,表明請求終止。
SIP/2.0 487 Request Terminated
From: ;tag=2dc18caf
To: ;tag=64e3f587
CSeq: 1 BYE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 192.169.100.50:5061;branch=z9hG4bK2a292692a
Content-Length: 0
到此,就是最簡單的呼叫過程。該過程簡單在于兩個終端之間沒有其它設備,完全的點對點連接,它們之間只需要知道對方 IP 地址即可。
在生活中每天在辦公室里都發生例子中相同的過程。
小方法
其實每個人都可以自己建立像SKYPE一樣的語音電話。
步驟一:下載一個軟件電話(eyebeam、MicroSIP Lite、X-Lite等)。
步驟二:在網上搜索free sip帳號(有些需要注冊帳號才能獲得sip帳號)
步驟三:根據每個軟電話設置步驟將獲取的sip帳號填入。
步驟四:設置完成就可以享受免費電話以及免費的國際長途了。
結束語
讓計算機能聽懂人類的語言,是人類自計算機誕生以來夢寐以求的想法。隨著計算機越來越向便攜化方向發展,隨著計算環境的日趨復雜化,人們越來越迫切要求擺脫鍵盤的束縛而代之以語音輸入這樣便于使用的、自然的、人性化的輸人方式。
作為高科技應用領域的研究熱點,語音的研究到產品的開發已經走過了幾十個春秋并且取得了長足的進步。它正在直接與辦公、交通、金融、公安、商業、旅游等行業的語音咨詢與管理.工業生產部門的語聲控制,電話、電信系統的自動撥號、輔助控制與查詢以及醫療衛生和福利事業的生活支援系統等各種實際應用領域相接軌,并且有望成為下一代操作系統和應用程序的用戶界面。可見,語音研究將是一項極具市場價值和挑戰性的工作。我們今天進行這一領域的研究與開拓就是要讓語音處理技術走人人們的日常生活當中,并不斷朝更高目標而努力。
本文作者:江汝棟(點融黑幫),目前就職于點融Infrastructure部門,擔任Network Engineer,負責分公司網絡事項。愛好足球,是點融足球隊守門員。