Board logo

標題: 如何實現 兩地之間 VoIP-to-PSTN ? [打印本頁]

作者: cnewkguyf    時間: 2012-6-24 18:10     標題: 如何實現 兩地之間 VoIP-to-PSTN ?

小弟是新手, 現請教各位怎樣實現 VoIP-to-PTSN ?
目標: 在香港透過 VoIP 打到大陸的 VoIP 再透過大陸的 PSTN 打大陸電話.

我看了 <香港一人一VoIP電話> 入門手冊, 但不太明白. 因為它說了要 iptel.org 之類. 但我不想通過  iptel.org 之類的 SIP server.
我只想用雙方自己的 IP 地址進行.

香港:
SPA3102 一台, 電話機連接在 SPA3102 上. 沒有PSTN 線!!
寬頻上網, IP: 123.123.123.123
IP Dialing 已經設好.
Line 1 的設定如下:
SIP Port: 50123
User ID: 123
Dial Plan 是: <188:188@188.188.188.188:50188>

大陸深圳:
SPA3102 一台, 電話機連接在 SPA3102 上, 電話線 PSTN 也接上SPA3102, 電話號碼是: 88881234
寬頻上網, IP: 188.188.188.188
Line 1 的設定如下:
SIP Port: 50188
User ID: 188
Dial Plan 是: <123:123@123.123.123.123:50123>

PSTN Line 的設定如下:
SIP Port: 50199
User ID: 199
VoIP-to-PTSN: Enable
VoIP Caller Auth Method: None
One Stage Dialing: yes

=================
香港的SPA3102上的電話機可以打通大陸的SPA3102上的電話機.

但香港的SPA3102上的電話機 卻無法打進大陸的 SPA3102 再進行 VoIP-to-PSTN 功能.
我試過在 香港話機上 Line 1 上加了 Dial Plan: <199:199@188.188.188.188:50199>
但不成功.

請問:
香港的 Line 1 的 Dial Plan 要怎麼設定才能進行 VoIP-to-PSTN ? 對方的 PSTN 的User ID 在哪里設定 ?
Proxy 要怎麼設定? (註: 不要那些 iptel.org 之類, 我只想通過香港和大陸各自的 IP 進行)
大陸的 PSTN Line 上Subscriber 上的User ID 應如何弄?

Thanks very much for help!
作者: 角色    時間: 2012-6-24 19:12

因为现在很少用SPA3102,但是根据你的信息,应该可以做到你的要求。还有我以前写的【香港一人一VoIP电话】是几年前的东西,现在已经有不少的改变,用iptel,只是通过某个SIP Server来进行。

如果你能从香港拨打深圳的电话,那么的IP direct dialing应该没有问题,而你用的应该是SPA3102的VoIP1,在SPA3102还有VoIP2,这个VoIP2,可以做VoIP-to-PSTN的转接。

具体怎样,我也不太记得,但是可能雯雯或者其他人可能还记得。不过你慢慢弄也可以,不太太复杂,还有可以参考固顶的tsintsin的SPA3102手册。


角色
作者: 雯雯    時間: 2012-6-24 19:14

回復 1# cnewkguyf

好耐無用SPA3102了! 都唔係好識點講, 方便既話俾我remote教你set!
作者: cnewkguyf    時間: 2012-6-26 09:35

本帖最後由 cnewkguyf 於 2012-6-26 09:48 編輯

回復 2# 角色

現在都不用SPA3102 了嗎? 那現在流行的是什麼牌子的型號 ?

在SPA3102里, 我就是不太明白 VoIP1 和 VoIP2 的之間的設定.
香港VoIP1 可以直接撥打到深圳那里邊的 VoIP1, 但卻不懂怎麼能從香港的VoIP1 打到深圳的 VoIP2 ...
VoIP1 就是 Line 1的設定, 這個我懂, User ID 也很容易設, SIP Port 也沒問題. 雙方各指各的 User ID 和 IP 以及 SIP Port 就可以直接進行 Direct IP Dialing 了! VoIP1 (HK)--> Internet --> VoIP1 (SZ)
但 VoIP2 這個 PSTN Line 上 的設定就有點不懂. 到底要怎麼設定, 才能成功 ?
到底下面哪一條途徑才是對的 ?
VoIP1 (HK)--> Internet --> VoIP2 (SZ) --> PSTN (SZ) ?
VoIP1 (HK)--> Internet --> VoIP1 (SZ) --> VoIP2 (SZ) --> PSTN (SZ) ?
作者: cnewkguyf    時間: 2012-6-26 09:46

回復 3# 雯雯

先多謝你!

我想問, 你之前有無試過 VoIP1 (地點一)--> Internet --> VoIP2 (地點二) --> PSTN 呢種方式 ?
本身 SPA3102 應該有 SIP Server 功能, 所以無需要其他的 SIP Server, 我呢個理解有無錯 ?

如果我理解無錯, 即係話我應該要係 (SZ) PSTN Line 里面設定 User ID 之類的資料, 然后在 (HK) 的 VoIP1 里面設定相關的 Dial Plan, 比如 <xxx:xxx@SZ.IP.Address: Port>, xxx 應該係 (SZ) PSTN Line 里面的對應 User ID 之類... 或者 (HK) Proxy 都應該要指向 SZ 的 IP 地址..??

請問我的理解有無錯?
作者: 角色    時間: 2012-6-26 13:41

回復 4# cnewkguyf

我们现在用OBi110比较多,在香港都有的卖,而接功能比SPA3120强大很多,是一个不错另类选择。

你的没有错,一般我们用VoIP1比较多,因为很多没有用,真的记得不太清楚。你可以另外给VoIP2,如果你能用IP Address拨打到VoIP1,如:

1) VoIP1: IP_Address:5060
2) VoIP2: IP_Address:5061

那么你拨打的时候就要用VoIP2 的URL(ip_address: port_number), 慢慢调,估计你应该可以调出来。

VoIP1 (HK)--> Internet --> VoIP2 (SZ) --> PSTN (SZ) (这个比较对)。

角色
作者: 雯雯    時間: 2012-6-26 14:42

回復 5# cnewkguyf

我以前用SPA3102的時候就是用你這種方式, 不過SPA3102本身沒有SIP Server功能.
作者: cnewkguyf    時間: 2012-7-2 08:42

本帖最後由 cnewkguyf 於 2012-7-2 08:44 編輯

現在我的進展是這樣:

1. HK 的 VoIP1 可以打進 SZ 的 VoIP2, 聽到PSTN 的聲音, 並可以進行 PSTN 撥號. 但是打完SZ的當地號碼後, 電話聽不到任何的聲音, SZ當地的電話號碼也沒有響! 不過網絡的燈卻不斷的閃, 証實有數據在交換. 不明白為什麼不成功?

2. SZ 的朋友打我 PSTN 的號碼, 成功轉到 HK 的 VoIP1, HK 的電話機響起. 但一接聽, 卻聽到一連串的(七八個左右)按電話數字的聲音, 然后就沒有聲音了. SZ朋友的電話也聽不到任何的聲音.

不知道哪個地方出錯了?
作者: 角色    時間: 2012-7-2 08:51

你这个事2次拨号的老问题,唯一解决方法用HTTP Authentication。

角色
作者: 角色    時間: 2012-7-2 08:55

你可以先不用我上面所说的那一种方案。

你要调你的FXO的load,还有receiving gain等等。

角色
作者: 角色    時間: 2012-7-2 08:56

你一步一步来,先解决从香港拨到大陆的PSTN。

角色
作者: 角色    時間: 2012-7-2 09:04

多说一点。

第一拨号时用Digital方式进行,所以你每次从香港拨打到大陆的VoIP2,而第二拨号就是用Analogue的DTMF从香港传到你深圳SPA3102,然后再传送到大陆的电信机房,如果中间的impendance不好,会产生很多harmonics,那么跟你原先在香港发出的DTMF信号就变了样,导致大陆机房的电信设备识别不出来。

角色
作者: cnewkguyf    時間: 2012-7-2 14:29

回復 12# 角色

十分感謝你提供的資訊.

我也GOOGLE了一些這方面的資料, 有些人說要用 AVT 方式, 我兩邊都試了, 可惜也不行.
FXO 方面的 Gain, 我知道是有話筒和聽筒兩個參數可調,我分別按3的倍數去調它們, 但都一樣沒效果.

二次撥號這方面, 你能否解釋一下這方面的原理呢?
HTTP Authentication 的原理又是怎麼樣的呢? 它不需要 第二次的Analog嗎? 不好意思, 我不懂這方面的知識.
作者: 角色    時間: 2012-7-2 14:56

根据我的经验,你距离成功不远。

应该用inband。没有办法2次拨号就是有这样的问题。

而HTTP Authentication,你可以参考,tsintsin(应该固定上面有他的link)。

角色
作者: cnewkguyf    時間: 2012-7-2 15:08

回復 14# 角色

我嘗試用 inBand, 但不成功. HK 這邊的 Line 1 如果也一樣用了  DTMF Tx Method= InBand, 結果更糟糕, 按任何的數字, PSTN 的撥號聲音一直存生. 如果改回 AVT, 就回復之前不成功的情況.

我的設定是這樣的:
HK Line 1:
==========
Audio Configuration
DTMF Process INFO: yes
DTMF Process AVT : yes
DTMF Tx Method   : AVT
Hook Flash Tx Method: AVT

SZ Line 1:
==========
Audio Configuration
DTMF Process INFO: yes
DTMF Process AVT : yes
DTMF Tx Method   : InBand
Hook Flash Tx Method: None

SZ PSTN Line:
=============
Audio Configuration
DTMF Process INFO: yes
DTMF Process AVT : yes
DTMF Tx Method   : InBand

不知道有什麼地方是錯的呢?
作者: 角色    時間: 2012-7-2 15:46

估计下面的材料会说明HTTP Authentication。

http://www.telecom-cafe.com/foru ... &extra=page%3D1
作者: cnewkguyf    時間: 2012-7-2 17:07

回復 16# 角色

這個文件我之前也下載了.
按照我的理解, HTTP Authentication 只是用于身份的驗証, 它和 PIN 的方式是差不多的. 所以用 HTTP 的驗証方式應該和 DTMF 的問題沒有什麼關係吧?

就是說, 從 HK 的 VoIP1 打到 SZ 的 VoIP2 這段是用 DIGITAL 的, 一旦通線了 (不管是用 PIN, HTTP 還是 NONE 去驗証), 那接下來按電話機上的數字鍵去打PSTN 電話, 這段是 ANALOG 的, 所以 HTTP 應該解決不了我面對的問題, 我的理解對嗎?
作者: 角色    時間: 2012-7-2 17:27

回復 17# cnewkguyf

http authentication是一次过把你要拨打大陆的手机的电话用digtial的方式传送到另外的VoIP2,而从你的VoIP2开始2次拨号,而不从香港发出DTMF。

角色
作者: cnewkguyf    時間: 2012-7-2 17:40

回復 18# 角色

謝謝你糾正了我錯誤的理解!
作者: 角色    時間: 2012-7-2 17:46

根据我的经验,你很快就会成功,其他你可以听到大陆电信的PSTN dialling tone,应该再调一下就可以。其实我们在2009年开始学习ATA,如果你那个时候开始学就更加容易,现在我们也很少用,而转用OBi110和Asterisk。

如果你有OBi110,你刚才说的问题,很简单就可以解决,因为可以通过OBinet,直接one-stage dialling就可以拨打对方PSTN的电话。

据说,我们从美国拨打到斯里兰卡的PSTN电话也可以,如果用two-stage dialling就不行!!!

角色
作者: cnewkguyf    時間: 2012-7-2 17:59

回復 20# 角色

SPA3102 我會慢慢再研究怎麼弄, 因為HK 和SZ 都是用它的, 手上有4個 SPA3102, 所以不能扔掉不用. 苦笑...

我經常聽你說 OBi110 和 Asterisk, 到底 Asterisk 是什麼東西 ?
OBi110 似乎很好用, 它可以和 SPA3102 一起用嗎? 比如一邊是SPA3102, 一邊是OBi110, 這樣有問題嗎?
OBi110 可以用 Google Voice (GV), 這個很吸引人...

另外 OBi110 可以像 SPA3102 那樣建立一個功能很齊全的電話網絡嗎? 我們要做到下面的功能:
1. 大陸有人打 SZ PSTN --> HK VoIP1 響, 如果5杪不接 --> HK PSTN 飛線到另一個HK 手機號碼上.
2. HK 手機 --> HK PSTN --> SZ VoIP1 響, 如果5秒不接 --> SZ PSTN
作者: 角色    時間: 2012-7-2 18:56

Asterisk是一个PABX Gateway软件,运行在Linux上面。

如果你有SPA3102,那么只可以慢慢弄。一般Obi110有自己的系统,它们都是SIP Client的ATA。

其实SPA3102的工程师都过档到OBihai Technology公司,所以基本上OBi110是比SPA3102更加强大的。

你说的问题,我以前和TsinTsin用他的SPA3102都在香港和大陆测试过。还有问问以前也有很多的SPA3102,但是估计她也让出不少,而改用OBi110。

不管怎样,只要有时间,慢慢你应该调出适合你的环境的settings。

还有Asterisk,就如一个资讯中心(VoIP),ATA(SPA3102,OBi110),就如Asterisk的手和脚一样,有了FXO的ATA,那么Asterisk就可以跟Analogue的PSTN连在一起。

想我就用HKBN 2b接入我的QNAP NAS里的Asterisk 1.4 Server。

角色
作者: cnewkguyf    時間: 2012-7-14 23:05

角色 和 雯雯:

不知道你們可否幫我看看哪里出了錯?

沒有聲音的問題一直解決不了, 所以我就把兩個 SPA3102 都放在香港測試.
現在連最簡單的 Direct IP Dialing 都是電話通了, 但兩邊都沒有聲音.

SPA3102 (at HK Island):
=======================
HK Island IP address: 18.18.18.18

Router Port Forwarding:
   5055 (TCP & UDP)  --> SPA3102 5055
   17384-17482 (TCP & UDP) --> SPA3102 17384-17482

SIP:
----
RTP Port Min: 17384
RTP Port Max: 17482

Handle VIA received: yes   Handle VIA rport: yes
Insert VIA received: yes   Insert VIA rport: yes
Substitute VIA Addr: yes   Send Resp To Src Port: yes
STUN Enable: no            STUN Test Enable: no


Line 1
------
Line Enable: yes

NAT Mapping Enable: yes     NAT Keep Alive Enable: no

SIP Port: 5055

Use Outbound Proxy: no      Use OB Proxy In Dialog: yes
Register: no
Make Call Without Reg: yes
Ans Call Without Reg: yes

Display Name: 852
User ID: 852
Use Auth ID: no
Auth ID: 852

Dial Plan:
(*xx|<852:852@58.58.58.58:5055>)

Enable IP Dialing: yes



SPA3102 (at Kowloon):
=====================
Kowloon IP address: 58.58.58.58

Router Port Forwarding:
   5055        --> SPA3102 5055
   17384-17482 --> SPA3102 17384-17482

SIP:
----
RTP Port Min: 17384
RTP Port Max: 17482

Handle VIA received: yes   Handle VIA rport: yes
Insert VIA received: yes   Insert VIA rport: yes
Substitute VIA Addr: yes   Send Resp To Src Port: yes
STUN Enable: no            STUN Test Enable: no


Line 1
------
Line Enable: yes

NAT Mapping Enable: yes     NAT Keep Alive Enable: no

SIP Port: 5055

Use Outbound Proxy: no      Use OB Proxy In Dialog: yes
Register: no
Make Call Without Reg: yes
Ans Call Without Reg: yes

Display Name: 852
User ID: 852
Use Auth ID: no
Auth ID: 852

Dial Plan:
(*xx|<852:852@18.18.18.18:5055>)

Enable IP Dialing: yes
作者: 雯雯    時間: 2012-7-15 08:50

回復 23# cnewkguyf

試試NAT Keep Alive Enable: yes和Symmetric RTP: yes.
作者: cnewkguyf    時間: 2012-7-15 09:00

Symmetric RTP: yes   <-- 一直都是 YES
NAT Keep Alive Enable: yes

但結果也是一樣. 兩邊電話都可以互響, 但一拿起電話就沒有聲音...
作者: lawleo    時間: 2012-7-15 13:18

我以前也有相同問題,最後我 port forward 10000-20000,50xx(你用的port), 59 & 63 便成功了,雖然 range 比較大,但先試試能否通話再想其他的吧。
作者: cnewkguyf    時間: 2012-7-15 15:22

回復 26# lawleo

Hi lawleo,

首先感謝你的建議!
我想問一下, 你之前遇到的問題是不是也是沒有聲音?
另外你用的 ROUTER 是什麼牌子?

我現在用的ROUTER 是 TP-LINK WR-1043ND, 我聽人家說ROUTER 也有關係.
作者: lawleo    時間: 2012-7-15 15:55

是的,打得入但沒有聲音,代表 5060 port make connection 時沒有問題,但另外 reconnect 時就不通,如果不是 codec 問題,便是 port 無法接入

我用得是 belkin 配 DD-WRT, 但其實只是簡單 port forward, 那個牌子都應問題不大,除非連 port forward 都有 bug 吧,我連 STUN 都沒有開,只做簡單的 port forward 便成功了。

如不想處理 port forward / NAT,  先用 DMZ, 通了後才攪其他的吧.
作者: 雯雯    時間: 2012-7-15 16:19

回復 27# cnewkguyf

通常沒有聲音只有兩個原因, 就係RTP port或Outbound proxy.

再唔得既話就在兩地起條VPN tunnel, 既安全又方便, 我現在就是這樣做.
作者: cnewkguyf    時間: 2012-7-15 16:59

回復 28# lawleo

Hi lawleo,

關于 DMZ, 是不是只要把我的SPA3102的 PRIVATE IP (e.g. 192.168.1.11) 放進去就可以了?
DMZ.JPG
如果設了 DMZ, 那原來的 PORT FORDWARD 的設定要取消 (DISABLE) 對吧?
FORDWARD.jpg

圖片附件: DMZ.JPG (2012-7-15 16:58, 179.56 KB) / 下載次數 667
http://www.telecom-cafe.com/forum/attachment.php?aid=1301&k=ce77efb346654667dd35feec0dd096f2&t=1714533889&sid=v3Af2z



圖片附件: FORDWARD.jpg (2012-7-15 16:58, 208.85 KB) / 下載次數 607
http://www.telecom-cafe.com/forum/attachment.php?aid=1302&k=ae6bfef9480090b248d349a0d947188f&t=1714533889&sid=v3Af2z


作者: cnewkguyf    時間: 2012-7-15 17:04

回復 29# 雯雯

Hi 雯雯:

請問 VPN tunnel 怎麼建立?
現在我兩邊(港島和九龍) 都是用同一牌子 TP-Link WR-1043ND 的 ROUTER, 但沒有 VPN Server 功能.
是不是其中一邊的 ROUTER 一定要有 VPN Server 才可以 ?
作者: 雯雯    時間: 2012-7-15 18:38

回復 31# cnewkguyf

TL-WR1043ND可以flash到DD-WRT或OpenWRT就會有VPN功能, 做Site to Site VPN的話是要兩邊router都有VPN功能.
作者: lawleo    時間: 2012-7-15 19:13

是的, 放進去後不理 Virtual Servers 的設定亦可
作者: cnewkguyf    時間: 2012-7-16 10:42

本帖最後由 cnewkguyf 於 2012-7-16 11:07 編輯

回復 33# lawleo

設定了 DMZ 還是解決不了問題!

最後我找到問題的所在, 就是在 EXT IP 加上 兩邊各自的 真實 IP 就可以互相通話了.
test.png

但不明白為什麼要加上 EXT IP 這個資料?
照道理 ROUTER 應該會處理 NAT, 為什麼還要在 SPA3102 里面加上真實的 IP ?
Internet <--> ROUTER (真 IP 123.18.82.28, 假IP 192.168.1.1) <--> SPA3102 (假IP 192.168.1.11)
有沒有人可以幫忙解釋嗎? 謝謝!

圖片附件: test.png (2012-7-16 10:39, 13.2 KB) / 下載次數 557
http://www.telecom-cafe.com/forum/attachment.php?aid=1303&k=fc124faf5491ebdd418a82d804578e6d&t=1714533889&sid=v3Af2z


作者: lawleo    時間: 2012-7-16 11:36

內部運作很難估計得到,但其中一個可能性是部份 service 只會 listen 本地 IP (如 192.168.2.xxx), 而其他外來的便不加理會, 直到你加上 EXT IP 後才會接收
作者: cnewkguyf    時間: 2012-7-16 12:03

但這樣子很麻煩, 我兩邊都是動態 IP (Dynamic IP), EXT IP 又不能填 xx.no-ip.com 之類的, 只能填數字式的IP, 這回真頭痛....
作者: 雯雯    時間: 2012-7-16 13:18

回復 36# cnewkguyf

你可以先試試將部1043ND flash去DD-WRT或OpenWRT, set port forward但係唔入EXT IP睇o下得唔得, 唔得就起條VPN tunnel.
作者: lawleo    時間: 2012-7-16 13:46

說真的,我只做了port forward, 跟本沒用上 EXT IP, 用了 IPTel / ComNet 也沒問題.
作者: Qnewbie    時間: 2012-7-16 18:16

本帖最後由 Qnewbie 於 2012-7-16 18:22 編輯
回復  lawleo

設定了 DMZ 還是解決不了問題!

最後我找到問題的所在, 就是在 EXT IP 加上 兩邊各自的 真 ...
cnewkguyf 發表於 2012-7-16 10:42



Just one suggestion:
Enable the STUN server. Use public stun server, http://www.voip-info.org/wiki/view/STUN.

OK, with 咕咕 , I found the following relevant link:
http://forum.voxilla.com/threads ... -peer-setting.4444/
作者: cnewkguyf    時間: 2012-7-16 21:51

回復 32# 雯雯

VPN Tunnel SITE to SITE 也要兩邊是固定 IP 的吧?
我有興趣知道你(或你公司)現在是怎麼設定 VPN Tunnel ? 能分享嗎? 謝謝!
作者: cnewkguyf    時間: 2012-7-16 21:57

回復 38# lawleo

我想問一下, 你的是不是 SPA3102 ?
你兩邊的DEVICE 和設定是怎麼樣的?
因為SPA3102 有個內置的 ROUTER, 我懷疑是不是這個在作怪, 所以一定要提供 EXT IP ...

現在我可以做到下面三方面:
1: HK SPA3102 VoIP1 <==> KL SPA3102 VoIP1 (雙方互通)
2: HK SPA3102 VoIP1 ==> KL SPA3102 PSTN ==> Dial out
3: Dial in ==> KL SPA3102 PSTN ==> HK SPA3102 VoIP1

如果不提供 EXT IP 就只能打通但沒有聲音. 提供了 EXT IP, 就一切正常
作者: cnewkguyf    時間: 2012-7-16 22:02

回復 39# Qnewbie

謝謝你的建議.
不知道 Public STUN Server 是否可靠?
作者: lawleo    時間: 2012-7-16 22:44

我的安裝是這樣的

33樓住所 PATA2T (192.168.x.x) -> DD-WRT
30樓住所 D-Link Router -> SPA3000 (192.168.x.x) -> PSTN -> Dial Out
作者: cnewkguyf    時間: 2012-7-16 22:54

回復 43# lawleo

你的 PAP2T 和 SPA3000 在哪里買的? 應該是淘寶吧? 多少錢?
這兩種產品都不再出產了, 所以我只能買原裝的 SPA3102, 一個要680元.
作者: 雯雯    時間: 2012-7-16 22:59

回復 44# cnewkguyf

原裝SPA3102仲貴過OBi110!
作者: 雯雯    時間: 2012-7-16 23:02

回復 40# cnewkguyf

VPN tunnel用動態IP都可以做到, 用DDNS. 我是用Draytek router去做, 比較易set!
作者: cnewkguyf    時間: 2012-7-17 08:54

現在我基本上已經可以做到 VoIP 之間的互相通話,
十分感謝 角色, 雯雯, lawleo 和 Qnewbie 你們的幫助!!
作者: lawleo    時間: 2012-7-17 10:13

回復 44# cnewkguyf


    是的, 在淘寶買, 很平宜的.
作者: cnewkguyf    時間: 2012-7-17 12:05

回復 48# lawleo

你買的 PAP2T 多少錢? SPA3000 多少錢?
我本來想在淘寶上買, 但網上查了一下, 很多人都說淘寶上的貨都不可靠, 假貨, 壞貨的很多...
看來你買回來的東西質量還不錯...
作者: lawleo    時間: 2012-7-17 12:25

小弟在這間買的
http://store.taobao.com/shop/vie ... _number_id=54736268

我也不知是否正貨, 130 & 110 RMB, 再加 1x 運費, 不算最平但品質的確不錯.




歡迎光臨 電訊茶室 (http://www.telecom-cafe.com/forum/) Powered by Discuz! 7.2