4,723
回編集
差分
ページの作成:「chan_pjsipではchan_sipでは実現できなかった機能が提供されています。 ==複数レジスト== 同一のユーザ名/パスワードで複数のUA(SIP...」
chan_pjsipではchan_sipでは実現できなかった機能が提供されています。
==複数レジスト==
同一のユーザ名/パスワードで複数のUA(SIPクライアン)トがRegisterできます。<BR>
AORのmax_contactsがこの数を制御します。endpointでRegisterするタイプのクライアント、要するに電話機等ではAORでmax_contacts = 1を指定することで、Asteriskに対してRegisterしてくるUAを1にしますが、これをmax_contacts = 4に設定すると、4つまでのUAがRegisterできるようになります。<BR>
EndppointやAORの設定は[[Asterisk pjsip]]のページを参照してください。<BR>
ただし、ダイヤルする際の引数がこれまでとは異なるので注意します。<BR>
Dialの引数にはファンクション、PJISP_DIAL_CONTACTSを用います。
${PJSIP_DIAL_CONTACTS(phone1,phone1)
書式:PJSIP_DIAL_CONTACTS(endpoint[,aor[,request_user]])
上記の例ではエンドポイントphone1でAORもphone1のダイヤル先を取得します。<BR>
このファンクションは次のような値を返します。
PJSIP/phone1/sip:phone1@192.168.1.27:5060&PJSIP/phone1/sip:phone1@192.168.1.14:60614;rinstance=1b2883b26cbc3051
上記の例ではphone1はphone1@192.168.1.27:5060と:phone1@192.168.1.14:60614からRegisterされています。この返値をDialコマンドに渡せば複数のUAに対してダイヤルします。
exten => 2001,1,Dial(${PJSIP_DIAL_CONTACTS(phone1,phone1))
このように書くことでphone1に対してRegisterしている2つのUA(電話機)に対してダイヤルすることができます。
==複数レジスト==
同一のユーザ名/パスワードで複数のUA(SIPクライアン)トがRegisterできます。<BR>
AORのmax_contactsがこの数を制御します。endpointでRegisterするタイプのクライアント、要するに電話機等ではAORでmax_contacts = 1を指定することで、Asteriskに対してRegisterしてくるUAを1にしますが、これをmax_contacts = 4に設定すると、4つまでのUAがRegisterできるようになります。<BR>
EndppointやAORの設定は[[Asterisk pjsip]]のページを参照してください。<BR>
ただし、ダイヤルする際の引数がこれまでとは異なるので注意します。<BR>
Dialの引数にはファンクション、PJISP_DIAL_CONTACTSを用います。
${PJSIP_DIAL_CONTACTS(phone1,phone1)
書式:PJSIP_DIAL_CONTACTS(endpoint[,aor[,request_user]])
上記の例ではエンドポイントphone1でAORもphone1のダイヤル先を取得します。<BR>
このファンクションは次のような値を返します。
PJSIP/phone1/sip:phone1@192.168.1.27:5060&PJSIP/phone1/sip:phone1@192.168.1.14:60614;rinstance=1b2883b26cbc3051
上記の例ではphone1はphone1@192.168.1.27:5060と:phone1@192.168.1.14:60614からRegisterされています。この返値をDialコマンドに渡せば複数のUAに対してダイヤルします。
exten => 2001,1,Dial(${PJSIP_DIAL_CONTACTS(phone1,phone1))
このように書くことでphone1に対してRegisterしている2つのUA(電話機)に対してダイヤルすることができます。