作者 主題: NAT與VoIP的問題  (閱讀 5100 次)

0 會員 與 1 訪客 正在閱讀本文。

hugo5688

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
NAT與VoIP的問題
« 於: 2007-11-01 17:46 »
小弟在撥打SIP電話時遇到了點問題
可撥出去,但無聲音回送
要煩請各位板上的先進們指點一下

環境:FC7 + DHCP +NAT
網卡:eth1:public ip
        eth0:private ip

目前用的是ATA SIP PHONE (設為自動取得IP 192.168.1.99)
用TCPDUMP獲得以下資料
看起來是SIP Server的溝通有成功
但是撥打出去後,並沒有封包回送
不知道是否為NAT的問題?
並請教該如何解決

感謝

代碼: [選擇]

01:02:26.406927 IP 192.168.1.99.sip > 60-250-x-x.HINET-IP.hinet.net.sip: SIP, length: 658
01:02:26.407578 IP 60-250-x-x.HINET-IP.hinet.net.sip > 192.168.1.99.sip: SIP, length: 555
01:02:26.914992 IP 192.168.1.99.sip > 60-250-x-x.HINET-IP.hinet.net.sip: SIP, length: 2
01:02:27.518122 IP 60-250-x-x.HINET-IP.hinet.net.sip > 192.168.1.99.sip: SIP, length: 534
01:02:27.988952 IP 60-250-x-x.HINET-IP.hinet.net.sip > 192.168.1.99.sip: SIP, length: 795
01:02:28.061317 IP 60-250-x-x.HINET-IP.hinet.net.sip > 192.168.1.99.sip: SIP, length: 782
01:02:28.213600 IP 192.168.1.99.sip > 60-250-x-x.HINET-IP.hinet.net.sip: SIP, length: 400
01:02:28.251027 IP 192.168.1.99.snmptrap > 255.255.255.255.snmptrap:  Trap(78)  E:2011.11.11.11 192.168.1.99 enterpriseSpecific s=1 12345 [|snmp]
01:02:28.315569 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172
01:02:28.321322 IP 192.168.1.99.snmptrap > 255.255.255.255.snmptrap:  Trap(77)  E:2011.11.11.11 192.168.1.99 enterpriseSpecific s=1 12345 [|snmp]
01:02:28.343290 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172
01:02:28.365179 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172
01:02:28.455052 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172
01:02:28.485069 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172
01:02:28.505093 IP 192.168.1.99.telelpathstart > 234.60.60.x.broad.sz.gd.dynamic.163data.com.cn.9267: UDP, length 172

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #1 於: 2007-11-02 08:47 »
一般來說是你猜的那個樣子
通常的做法需 stun server 幫忙做 NAT 穿透
不然就是在 UA 上限制 RTP port 的範圍,並在 NAT 上做好對應的 port mapping

hugo5688

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #2 於: 2007-11-02 10:43 »
STUN Server有架,不過還是無法通話


"不然就是在 UA 上限制 RTP port 的範圍,並在 NAT 上做好對應的 port mapping"

如底下client端很多人的話,該如何做port mapping?

弟算linux新手,因公司需求,還煩請不吝指教,感謝

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #3 於: 2007-11-02 11:14 »
引述: "hugo5688"
STUN Server有架,不過還是無法通話


"不然就是在 UA 上限制 RTP port 的範圍,並在 NAT 上做好對應的 port mapping"

如底下client端很多人的話,該如何做port mapping?

弟算linux新手,因公司需求,還煩請不吝指教,感謝

如果很多人那你還是走 stun 路線較好,
至於仍無法通話除了 stun 之可能問題外, 也 check 一下你的 NAT/Firewall 對 VoIP 的支援情形

hugo5688

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #4 於: 2007-11-02 11:48 »
以下是我的設定
另外在網路上找到相關文章
http://www.iptel.org/sipalg/
在kernel 2.6.18後已納入kernel
所以在iptables-config加入
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_nat_sip"

#lsmod

代碼: [選擇]
Module                  Size  Used by
iptable_nat            11461  1
iptable_mangle          6593  0
iptable_filter          6977  1
ip_tables              16389  3 iptable_nat,iptable_mangle,iptable_filter
nf_nat_irc              6849  0
nf_conntrack_irc       11097  1 nf_nat_irc
nf_nat_h323            11457  0
nf_conntrack_h323      52893  1 nf_nat_h323
nf_nat_ftp              7489  0
nf_conntrack_ftp       13761  1 nf_nat_ftp
nf_nat_sip              8513  0
nf_conntrack_sip       13653  1 nf_nat_sip


不知道這樣是否正確呢?

代碼: [選擇]

# Generated by iptables-save v1.3.7 on Fri Nov  2 18:31:13 2007
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT
-A FORWARD -p udp -m udp -o eth1 --dport 5060 -j ACCEPT
COMMIT
# Completed on Fri Nov  2 18:31:13 2007
# Generated by iptables-save v1.3.7 on Fri Nov  2 18:31:13 2007
*mangle
:PREROUTING ACCEPT [1648:295512]
:INPUT ACCEPT [405:49094]
:FORWARD ACCEPT [1243:246418]
:OUTPUT ACCEPT [509:341719]
:POSTROUTING ACCEPT [1752:588137]
COMMIT
# Completed on Fri Nov  2 18:31:13 2007
# Generated by iptables-save v1.3.7 on Fri Nov  2 18:31:13 2007
*nat
:PREROUTING ACCEPT [43:2823]
:POSTROUTING ACCEPT [2:141]
:OUTPUT ACCEPT [2:141]
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Fri Nov  2 18:31:13 2007

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #5 於: 2007-11-02 12:05 »
是否正確別人沒法幫你判斷
一切都需要你自己去實驗

hugo5688

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #6 於: 2007-11-02 12:48 »
i c, thx 4 ur help ^^

goldenpig

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
NAT與VoIP的問題
« 回覆 #7 於: 2007-11-02 17:20 »
引述: "hugo5688"
i c, thx 4 ur help ^^


不是etheral抓下來比較知道哪邊出錯嗎

header callid

感覺沒etheral比較不知道哪邊發生問題

看是sip server有問題還是ATA有問題

針對哪邊出錯去找出來就好解多了