Grandstream HT-503を利用し、アナログ回線をAsteriskに収容する方法を紹介します。
前提環境
- Grandstream HT-503 1.0.15.5
- Asterisk 11.25.1
HT-503の設定
普通に使うところは割愛して、たぶん肝となる設定は次の部分
Basic Settings / Unconditional Call Forward to VOIP
FXO側から着信があった際に、SIPサーバのどのユーザにINVITEを投げるか(Portが5061なのはTLSを利用しているからです)

Advanced Settings / Call Progress Tone
Advanced Settings / FXO Port / Caller ID
Advanced Settings / FXO Port / Caller ID Transport Type
Caller
IDをFromヘッダーにマッピングすると、同じIPアドレスからRegistしてる
別のSIP端末と間違って認識するっぽい(?)からPPIで渡すようにしています。(どっか別の設定がおかしい気もするけど。)
Advanced Settings / FXO Termination / Channel Dialing
いろいろ触ってどれが原因か微妙だけど、FXOから抜けるのに苦労して、
Wait for Dial-ToneとStage Method (1/2):
が怪しい気がする。
Asterisk側
Asterisk側は別に普通で、こんな感じ
sip.conf
[ht503_fxo]
context=ht503demo
fromdomain=voip.example.com
disallow=all
allow=ulaw
allow=gsm
type=peer
insecure=invite,port
host=dynamic
transport=tls
encryption=yes
directmedia=no
nat=force_rport,comedia
qualify=5000
secret=foobar
extensions.conf
; はじめの4行はCallerIDをPPIで渡してるから必要
exten => 054xxxxxxx,1,Set(CID=${SIP_HEADER(P-Preferred-Identity):5})
exten => 054xxxxxxx,n,Set(CID=${CUT(CID,@,1)})
exten => 054xxxxxxx,n,Set(CALLERID(name)=${CID})
exten => 054xxxxxxx,n,Set(CALLERID(num)=${CID})
exten => 054xxxxxxx,n,Dial(SIP/client11)
exten => _0.,1,Dial(SIP/${EXTEN}@ht503_fxo)



