2021年12月11日 星期六

tel URI

RFC3966 說明 tel URI

telephone-subscriber = global-number / local-number

telephone-subscriber 可以看成是 user 是電話號碼的特例,看開頭有無「+」分成全球號碼 (global-number) 和區域號碼 (local-number) 兩種。

全球號碼 (global-number, E.164):tel: +十進位數字

global-number        = global-number-digits *par
global-number-digits = "+" *phonedigit DIGIT *phonedigit

全球號碼是「+」開頭十進位數字,至少一碼。可用 visual-separator「-」「.」「(」「)」隔開便於閱讀,比較或撥號時都忽略。後面可有參數,每個「;」表示有一個。依照 E.123E.164,數字必須包含國碼 (CC) 和受話國國內有效號碼 (National Significant Number, NSN),是全球唯一的。

範例

tel:+1-201-555-0123

一個美國門號,國碼 1、區碼 ...、、、。

有些號碼無法用全球號碼表示,需要用區域號碼,例如私人號碼、緊急電話 119/110、查號台 104、服務電話等。號碼含有 有 A ~ D、* 或 # 也不行。

區域號碼:tel: 十六進位數字;phone-context=網址

local-number         = local-number-digits *par context *par
local-number-digits  = *phonedigit-hex (HEXDIG / "*" / "#")*phonedigit-hex

區域號碼用十六進位數字和「*」「#」,一樣可以隔開便於閱讀,後面一樣可以有參數。

參考

  1. RFC3966 The tel URI for Telephone Numbers obsolete RFC2806 URLs for Telephone Calls
  • http://tools.ietf.org/html/rfc3261#section-19.1.6 說明跟 sip: 的轉換。
  • cpc (Calling Party's Category)
    • https://itectec.com/spec/c-1-interworking-sip-to-isup/
    • https://www.etsi.org/deliver/etsi_TS/129100_129199/129163/11.07.00_60/ts_129163v110700p.pdf
  • Numbering Plan
    • ISDN 和 PSTN 使用 E.164 (I.330),PSPDN (Packet Switched Public Data Networks) 一般使用 X.121。不同 numbering plan 轉換需要 numbering plan interworking,有 Escape Code、NPI 等方式。
    • National ISDN number = Nataional destination code + ISDN subscriber number
    • Internation ISDN number = Country code + National ISDN number
    • prefix
    • E.164 Escape Code

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...