如何透過 Asterisk 從軟體 SIP 電話呼叫 PSTN 號碼

如何透過 Asterisk 從軟體 SIP 電話呼叫 PSTN 號碼

我正在開始使用星號。我只想從 SIP 軟體電話撥打 PSTN 號碼。我已經閱讀了這本書的最新版本:Asterisk,權威指南,並進行了通常的谷歌搜尋以尋找解決方案,但沒有成功。

以下是我迄今為止使用 Ekiga 軟體電話所做的工作。

我能夠使用軟體電話進行註冊。 Asterisk「sip show peers」正確列出了已註冊的分機。我為 PRI 卡設定了 chan_dahdi.conf。我設定了 sip.conf 檔案。在這兩個檔案中,我都命名了上下文,然後在 extensions.conf 檔案中定義它們。

當我嘗試從外部撥入 PRI 號碼時,會觸發與通用模式相符的撥號方案分機。我能夠在其中一個步驟中執行應用程式 Dial(DAHDI/g0/1234567890)。它確實會呼叫 PSTN 號碼。所以我知道硬體設定和Dahdi驅動、PRI卡驅動等基本安裝都已到位。

我不知道如何透過軟體電話撥打外部電話。需要執行哪些操作才能將 SIP 電話中的 URI 連接到撥號計畫中的 Dahdi 分機以進行通話。換句話說,我如何實現這個目標:

擴充 => _X.,1, 撥號(DAHDI/g0/1234567890)

從軟體電話?

這裡的號碼是在撥號方案中靜態指定的。

如果我將此作為另一個 SIP 分機中的操作,然後嘗試從軟體電話存取該 SIP URI,它會抱怨用戶無法存取。

答案1

沒有一種獨特的方法可以做到這一點。

這是一種方法:

我定義的分機號碼以 9 以外的任何字元開頭,並使用 9 表示這是 PSTN 呼叫。

添加extensions.conf這樣的內容:

exten => _9X.,1,NoOp(Call to PSTN)
exten => _9X.,n,Dial(DAHDI/g0/${EXTEN:1})

將其放在與分機的撥號方案相同的上下文中。上下文是在括號中的標題中定義的,例如[internal][default]

這意味著每當您撥打時,9+something它都會去掉第一個數字並保留號碼的其餘部分並透過 DAHDI/g0 撥打。9是個外部指標。

請記住,同一上下文中的任何分機都可以呼叫 PSTN。


這是另一種方法:

如果您知道撥打外部電話的數字長度,假設它始終是 7 位數字,那麼您可以這樣做:

exten => _XXXXXXX,1,NoOp(Call to PSTN)
exten => _XXXXXXX,n,Dial(DAHDI/g0/${EXTEN})

每當您撥打 7 位長度的號碼時,該號碼都會轉至 PSTN。您的分機號碼必須短於此。

相關內容