
我正在開始使用星號。我只想從 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。您的分機號碼必須短於此。