Presentation is loading. Please wait.

Presentation is loading. Please wait.

李思銳 voip_taiwan@yahoo.com.tw VoIP系統與SIP協定 李思銳 voip_taiwan@yahoo.com.tw.

Similar presentations


Presentation on theme: "李思銳 voip_taiwan@yahoo.com.tw VoIP系統與SIP協定 李思銳 voip_taiwan@yahoo.com.tw."— Presentation transcript:

1 李思銳 voip_taiwan@yahoo.com.tw
VoIP系統與SIP協定 李思銳

2 大綱 穿越 NAT 編譯Open Source的STUN Server and Client Outbound Proxy

3 NAT 通常使用 xxx.xxx, xxx.xxx ~ xxx.xxx, 10.xxx.xxx.xxx; 但是沒有強制規定一定要以上的IP range NAT可分為四類: Full Cone Restricted Port Restricted Symmetric

4 Full Cone NAT 來自同一internal ip:port的所有要求都將mapping到相同的external ip:port
internal可以透過internal ip:port  external ip:port, 往external傳輸的網路封包 external可以透過external ip:port  internal ip:port , 往internal傳輸的網路封包

5 Restricted NAT 來自同一internal ip:port的所有要求都將mapping到相同的external ip:port
external”只能”循原路往internal傳輸網路封包, 也就是, internal曾將某一網路封包傳送到external時, external”才能”把網路封包傳送到internal

6 Port Restricted NAT 與Restricted Cone NAT一樣, 但是限制範圍包括port

7 Symmetric NAT 來自同一內部ip:port的所有要求, 在傳送到某一特定目標ip:port時, 都將mapping到相同的外部ip:port, 如果同一目標傳送的網路封包具有相同的來源ip:port, 但目的地不同, 則使用不同的mapping port 只有收到資料封包的external可以向internal回送UDP封包

8 關於穿越NAT 如果由client來做, 通常是去問外部的server(如STUN server), 目前NAT IP位址為何, 以及偵測NAT的type 如果是server來做, 最有效的做法就是outbound proxy, 這樣的做法就如同H.323裡的proxy mode. 但是, 由於所有的封包都經過outbound server, 網路流量是必需考量的重點

9 編譯與執行STUN Server # tar xvfz stund_0.96_Aug13.tgz # make
# ifconfig eth0:0 linux_host_ip_2 # ./server -v # ./client -v linux_host_ip

10 設定SJPhone – 使用我們的STUN server

11 設定SJPhone – 使用預設的STUN server

12 利用STUN穿越NAT的作法 在REGISTER和INVITE時, 注意Contact這個SIP header欄位的變化
在INVITE時, 注意o, c和m這幾個SDP欄位的變化

13 REGISTER封包 U :5060 -> :5060 REGISTER sip: SIP/2.0. Via: SIP/2.0/UDP ;rport;branch=z9hG4bKc0a80baf b451e2ebc000040ba Content-Length: 0. Contact: Call-ID: CSeq: 5 REGISTER. From: Max-Forwards: 70. To: User-Agent: SJphone/ a (SJ Labs).

14 INVITE封包 U :5060 -> :5060 INVITE SIP/2.0. Via: SIP/2.0/UDP ;rport;branch=z9hG4bKc0a80baf e2f fa Content-Length: 223. Contact: Call-ID: Content-Type: application/sdp. CSeq: 1 INVITE. From: Max-Forwards: 70. To: User-Agent: SJphone/ a (SJ Labs).

15 v=0. o= IN IP4 公網ip. s=SJphone. c=IN IP4公網ip. t=0 0. a=direction:active. m=audio公網port RTP/AVP a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp: ,16.

16 Quiz If two Uac behind the same NAT, and they enable STUN. What problem will happen?

17 大綱 H.323介紹 Open Source的H.323 terminal 在Linux平台的Gatekeeper 封包擷取與觀察

18 編譯的順序 因為library相依性的問題, 請照下面順序編譯: pwlib openh323 gnugk

19 編譯pwlib # tar xvfz pwlib_1_5_3.tgz # cd pwlib # ./configure # make opt
# make install # cd ..

20 編譯openh323 # tar xvfz openh323_1_12_3.tgz # cd openh323 # ./configure
# make opt # make install # cd ..

21 編譯gnugk # tar xvfz gnugk-2.0.8.tgz # cd openh323gk
編輯Makefile, disable ACCT, RADIUS, MYSQL, PGSQL, WAITARQ # make opt # make install # cd ..

22 啟動gnugk # cp -a /usr/local/lib/libp* /usr/lib/.
# cp -a /usr/local/lib/libh* /usr/lib/. # gnugk -c ./openh323gk/etc/gnugk.ini

23 設定SJPhone 新增一個Profile 使用Call through H.323 Gatekeeper
輸入正確的Gatekeeper Address

24 設定OpenPhone 設定Username和Aliases 更改Local interfaces

25 輸入正確的Gatekeeper Address
關掉OpenPhone後, 再啟動一次

26 擷取封包

27 大綱 SIP IP-PBX: Asterisk Asterisk的編譯與SIP service的啟動 Asterisk的設計概念
TransCoding的問題研究

28 Asterisk的編譯 # tar xvfz asterisk-1.0.11.tar.gz # cd asterisk-1.0.11
# make # make install # make samples

29 Asterisk預設的安裝路徑 執行檔: /usr/sbin/asterisk
Modules: /usr/lib/asterisk/modules Config: /etc/asterisk

30 sip.conf 請見/etc/asterisk/sip.conf, 或是光碟片裡copy出來的default sip config of asterisk 請注意以下一些設定, 我們通常/也許可能會去更改: context=default port=5060 bindaddr=

31 增加SIP client帳號 [1000] type=friend secret=1000 host=dynamic [1001]

32

33 Problem 註冊OK 1000< -- >1001對打不對勁
增加底下兩項到sip.conf的1000和1001帳號裡 nat=yes context=internal

34 增加internal context到extensions
增加internal context到extensions.conf [internal] exten => 100,1,Dial(SIP/1000) exten => 200,1,Dial(SIP/1001) X-Lite(1001)呼叫SJPhone(1000): call 100 SJPhone(1000)呼叫X-Lite(1001): call 200

35

36

37

38 Asterisk的設計概念 Asterisk is so-called IP-PBX 他主要是針對他們的類比或數位的板卡所設計的程式
基本上, 可以將Asterisk視作是一個加強型的Trunk Gateway

39 TransCoding的問題研究 基於上述原因, 預設所有RTP封包都會經過Asterisk
另外Asterisk為解決某些device沒有提供的codec, 他將進到自己本身的封包作codec的轉換 Asterisk的核心codec為PCM16和GSM

40 大綱 SIP互通性研究 研究X-Lite的各種設定 各種Open Source SIP Protocol Stack之比較與探討
SIP RFC 2543和RFC 3261比較與問題 SIP與H.323比較與差異 SIP優缺點與未來之挑戰

41 The setting with X-Lite
Auto Detect IP Listen on IP Listen SIP Port Listen RTP Port NAT Firewall IP Out Bound SIP Proxy Stun Server DNS Server

42 Display Name Username Authorization User Password Domain/Realm SIP Proxy Outbound Proxy Send Internal IP Forward SIP URL Dial Prefix

43 Reregister Proxy Send Compact SIP Messages Send Basic SDP Messages Use SIP rport Timeout

44 SIP rport allows a client to request that the server send the response back to the source IP address and port from which the request originated

45 Open source SIP stack VOCAL: vovida, huge and full functions, support RFC2543 but RFC3261 unknown OPAL: openh323, support H.323 and SIP miniSIP: support TLS oSIP: GNU, very small, C language

46 Hold in RFC2543 RFC3261 hold: a=sendonly, a=recvonly, a=sendrecv
RFC2543 hold: c= Quiz: Is the address “ ” a legal internet address?

47 RFC3261 vs. RFC2543 Please refer chapter 28 of RFC3261
Refer the book “Understanding the Session Initiation Protocol” (second edition), searching the keyword “RFC 2543” Installing the vocal server and client and then testing with your program or device

48 SIP vs. H.323 IETF vs. ITU-T(CCITT) Text vs. ASN.1
SIP URL vs. E164ID/H323ID NAT friendly Gateway mode and prefix number Trunk gateway and connecting to telecommunication SIP servers vs. H.323 gatekeeper

49 The problem with SIP SIP 3261和2543不相容 由於是Text編碼傳輸, 無法保證call setup time
沒有gateway prefix觀念, 需自行實作, 也因此造成某些程度的不相容 在RFC規範裡, MUST字眼很少出現, 各廠商的產品相容性需驗證 SIP某些功能仍然是draft, 也就是還沒定稿 SIP的規範散見各RFC或draft


Download ppt "李思銳 voip_taiwan@yahoo.com.tw VoIP系統與SIP協定 李思銳 voip_taiwan@yahoo.com.tw."

Similar presentations


Ads by Google

玻璃钢生产厂家常州玻璃钢仿真水果雕塑定制潍城玻璃钢花盆花器海口做玻璃钢雕塑的浙江装饰商场美陈批发价天津抽象玻璃钢雕塑制作蒙自市玻璃钢雕塑设计供应玻璃钢果篮景观雕塑供应福建人物玻璃钢雕塑批发玻璃钢雕塑龙凤台州抽象玻璃钢雕塑汕头玻璃钢雕塑电话多少嘉定区镜面玻璃钢雕塑来电咨询玻璃钢鹿雕塑哪家正规玻璃钢雕塑关键词长春公园玻璃钢雕塑制作室内商场美陈供应陕西现代人物玻璃钢雕塑书本玻璃钢雕塑形容词衢州玻璃钢雕塑报价水溶性玻璃钢花盆深圳主题商场美陈厂家直销铜仁商场美陈雕塑浙江十二生肖玻璃钢雕塑南宁玻璃钢海洋雕塑玻璃钢雕塑梅花鹿制作教程视频沈阳卡通玻璃钢雕塑厂家玻璃钢雕塑设计感上衣嘉兴抽象玻璃钢雕塑市场江西玻璃钢卡通雕塑熊原阳玻璃钢雕塑加工厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化