検索chan_pjsipではchan_sipでは実現できなかった機能が提供されています。複数レジスト同一のユーザ名/パスワードで複数のUA(SIPクライアント)がRegisterできます。AORのmax_contactsがこの数を制御します。4に設定すると、4つまでのUAがRegisterできるようになります。pjsipのページを参照してください。ダイヤルする際の引数がこれまでとは異なるので注意します。Dialの引数にはファンクション、PJSIP_DIAL_CONTACTSを用います。${PJSIP_DIAL_CONTACTS(phone1,phone1)書式:PJSIP_DIAL_CONTACTS(endpoint[,aor[,request_user]])上記の例ではエンドポイントphone1でAORもphone1のダイヤル先を取得します。このファンクションは次のような値を返します。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に対してダイヤルします。2001,1,Dial(${PJSIP_DIAL_CONTACTS(phone1,phone1))このように書くことでphone1に対してRegisterしている2つのUA(電話機)に対してダイヤルすることができます。ACD機能ではないので内線の複数収容には向きませんが、あるユーザにひとつのユーザIDとパスワードを発行し、デスクフォンとスマートフォンを同時に使わせるような場合には便利です。同一エンドポイントに対して複数レジストが可能なため一部電話機において副作用が発生します。unregisterせずにregisterしようとする電話機ではregisterしたまま再度registerしようとするため、前のregisterと新しいregisterを「別なcontact」としてAsteriskが判断してしまいます。以下の例では電話機のエンドポイント名は"FAP003"です。contactsに達してしまっているので、それ以上のregisterができません。解決方法としては再registerする(電話機が再起動したときなど)にunregisterしてからregisterするオプションを電話機で設定してください。電話機でそのようなオプションがない場合には一定時間(3600秒)経つとcontactが捨てられますので、再度registerできるようになるはずですが、設定やデバッグ中などで頻繁に再起動したい場合には以下の手順でcontact情報を消すことができます。registrar/contactを実行します。表示から以下のようなエントリを探します。{"via_addr":"192.168.254.16","qualify_timeout":(略)registrar/contactの"FAP003;@fe086ca9ab600f0098c73dd73bd0487d"部分がキーになっています。"FAP003"の部分は使用している電話機のエンドポイント名なので環境にあわせて読み替えてください。contactsから1つ減らすことができるので、再度registerすることができるようになります。以下の例のように削除します。FAP003;@fe086ca9ab600f0098c73dd73bd0487d※Grandstreamの一部電話機では再register時のunregisterを実行「しない」がデフォルト設定になっているようです。