最終更新日:170725 原本2017-01-22 

Grandstream HT-503でアナログ回線をAsteriskに収容する

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を利用しているからです)
CallFwdVoip.png

Advanced Settings / Call Progress Tone

Tone.png

Advanced Settings / FXO Port / Caller ID

ナンバーディスプレイ使っている場合は設定必要
CID.png

Advanced Settings / FXO Port / Caller ID Transport Type

Caller IDをFromヘッダーにマッピングすると、同じIPアドレスからRegistしてる
別のSIP端末と間違って認識するっぽい(?)からPPIで渡すようにしています。(どっか別の設定がおかしい気もするけど。)

CidTransport.png

Advanced Settings / FXO Termination / Channel Dialing

いろいろ触ってどれが原因か微妙だけど、FXOから抜けるのに苦労して、
Wait for Dial-ToneとStage Method (1/2): が怪しい気がする。

FXO.png

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)