思科整合邊界元件(CUBE)可協助將E.164被叫號碼對映到作業階段啟始通訊協定(SIP)統一資源識別碼(URI)(ENUM)。 SIP ENUM技術允許網路的傳統電話部分(使用E.164編號來定址目的地)與網路的SIP電話部分互通,通常使用SIP URI。
從公共交換電話網(PSTN)網路,如果終端使用者撥打了E.164被叫方,則號碼可以由ENUM網關轉換為相應的SIP URI。此SIP URI隨後用於查詢域名系統(DNS)命名授權指標(NAPTR)資源記錄(RR)。 NAPTR RR(如RFC 2915中所定義)描述如何轉發或終止呼叫並記錄資訊,如電子郵件地址、傳真號碼、個人網站、IP語音(VoIP)號碼、行動電話號碼、語音郵件系統、IP電話地址和網頁。
或者,當主叫方是VoIP端點並撥打E.164號碼時,發起方的SIP使用者代理(UA)將其轉換為SIP URI,以便用於查詢ENUM網關DNS並獲取NAPTR RR。
嘗試此組態之前,請確保符合以下要求:
有關如何配置和使用Cisco IOS®語音的基本知識
有關如何配置和使用思科統一邊界元素(CUBE)的基本知識
本檔案中的資訊是根據使用Cisco IOS版本12.4T的ISR上的Cisco Unified Border Element版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
以下示例顯示典型的NAPTR RR和欄位詳細資訊。
域欄位。
Class欄位:「IN」 =網際網路。
RR的型別(資源記錄):NAPTR = 35。
訂購:值越小,優先順序越高。
等階的NAPTR RR的優先權。
標誌欄位:「U」標誌表示下一步不是DNS查詢,而是Regexp欄位的輸出是URI。「A」標誌表示下一步是地址查詢。「S」標誌表示下一步是SRV記錄查詢。
服務欄位:此欄位指示使用的協定和服務。語法「sip+E2U」表示協定是SIP,E2U表示E.164到URI的對映(根據RFC 2916)。 Cisco IOS網關不支援「E2U+sip」(RFC 3761服務型別)。
Regexp欄位:此欄位包含匹配和替換資訊。
NAPTR RR中關鍵欄位的詳細說明(根據RFC 2916)如下:
欄位4 — 順序欄位指定當返回多個NAPTR記錄以響應單個查詢時,必須處理記錄的順序。
欄位5 — 首選項欄位指定當多個NAPTR記錄具有相同值「order」時應處理記錄的順序。
欄位6 — 標誌欄位包含影響下一個DNS查詢中發生情況的修改量,通常用於最佳化流程。
欄位7 — 服務欄位指定在應用regexp或替換欄位指定的重寫時將可用的解析協定和解析服務。
欄位8 - regexp欄位是用於重寫規則的兩個欄位之一,並且是NAPTR記錄的核心概念。
欄位8 — 替換欄位是可用於重寫規則的另一個欄位。
本節提供用於設定本文件中所述功能的資訊。
註:使用Command Lookup Tool(僅供已註冊客戶使用)可獲取本節中使用的命令的詳細資訊。
此圖顯示為SIP-SIP服務配置的CUBE中的典型ENUM序列:
此圖顯示本文檔所述的ENUM配置中發生的事件順序。
使用者撥打901189。
該呼叫匹配指向ENUM表3的傳出撥號對端300。 ENUM表3規則3首選項2用+1408替換9011;最終的ENUM結果字串為+140889。除數字以外的字元將被刪除,結果字串為140889。數字顛倒,新增點,並在字串後附加區域名稱;產生的字串是9.8.8.0.4.1.e164.arpa,它是完全限定域名(FQDN)。
CUBE與DNS伺服器聯絡以解析FQDN。
DNS伺服器應配置NAPTR記錄以支援此功能並返回SIP URI sip:2000@9.13.8.100。
CUBE向2000@9.13.8.100發出傳出呼叫。
CUBE需要本節中介紹的配置,以便處理基於ENUM的URI解析。
此示例說明如何啟用CUBE功能,以便終止傳入的VoIP呼叫,並使用出站VoIP撥號對等體重新發起它們。
voice service voip allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip allow-connections h323 to h323
此示例說明如何在CUBE中配置ENUM表:
voice enum-match-table 3 rule 3 2 /^9011\(.*\)//+1408\1/e164.arpa
此示例說明如何使用相關協定、DTMF型別和編解碼器資訊配置傳入和傳出撥號對等體。
!-- Incoming dial peer dial-peer voice 1 voip incoming called-number 901189 session protocol sipv2 dtmf-relay rtp-nte codec g711ulaw ! !-- Outgoing dial peer ! dial-peer voice 2 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- 3 denotes ENUM table number dtmf-relay rtp-nte codec g711ulaw
此示例說明如何配置DNS伺服器以返回反向FQDN的SIP URI。
$ORIGIN 9.8.8.0.4.1.e164.arpa. IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:2000@9.13.8.100!" .
以下示例配置顯示了如何在CUBE中支援ENUM。
示例配置 |
---|
! ip name-server 9.13.8.100 !-- DNS Server having NAPTR RR ! ! ! voice service voip allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to sip supplementary-service h450.12 h323 call start slow sip no call service stop ! ! voice enum-match-table 3 !-- ENUM table to digit stripping !-- and conversion into FQDN rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa ! ! dial-peer voice 300 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- Session target Pointing to an ENUM table codec g711ulaw ! dial-peer voice 400 voip destination-pattern 4000 session protocol sipv2 session target ipv4:9.13.8.88 incoming called-number 901189 codec g711ulaw |
如本節所示驗證設定。
IPIP-2801-5#show voice enum detail IPIP-2801-5#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 IPIP-2801-5>en IPIP-2801-5#show voip rtp conn VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 25 26 16836 20844 9.13.8.25 9.13.8.200 2 26 25 16720 49186 9.13.8.25 9.13.8.100 Found 2 active RTP connections IPIP-2801-5#show call active voice | inc Sess SessionProtocol=sipv2 SessionTarget=9.13.8.200 SessionProtocol=sipv2 SessionTarget=3 IPIP-2801-5#
本節提供的資訊可用於對組態進行疑難排解。
show voice enum — 要顯示ENUM匹配表的規則,請在特權EXEC模式下使用enum-match-table [table-num]命令。
debug voip enum detail — 為了檢視VoIP ENUM資訊,請在特權EXEC模式下使用debug voip enum命令。
此輸出範例顯示您執行疑難排解命令時收到的資訊:
IPIP-2801-5#debug voip enum detail enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U !-- Per RFC2916 flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 TB1-IPIPGW1-3#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service E2U+sip flag u regexp !^.*$!sip:521000@10.1.1.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service E2U+sip !-- Per RFC2916 flags u regexp !^.*$!sip:521000@10.1.1.100! replacement validate_service_field: NAPTR Record format Error, non-supported "service protocol" field find_enum_contact_list_i: NAPTR Record format Error, invalid "service" field TB1-IPIPGW1-3#show voice enum voice enum_match_table 3 rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa
附註:使用 debug 指令之前,請先參閱有關 Debug 指令的重要資訊。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
02-Jul-2009 |
初始版本 |