2兆円超成長市場CCaaS開発(マルチデバイス化 - 通常内線完成) - クラウドPBX開発編-No.026
今回やること
通常内線のマルチデバイス化を完成させます。前回の記事で、Dial(PJSIP/101)のようなENDPOINTを宛先に指定した方法では複数デバイスに対して一斉に着信させることはできないことがわかりました。今回はENDPOINTではなくCONTACTに対して漏れなくダイヤルする方法を説明し、マルチデバイス化を完成させます。
全記事共通ご挨拶
こんにちは、川田敏巳と申します。当記事をお読み頂き誠にありがとうございます。これまで10以上のSaaS事業開発にてCXOや先端技術研究室長を務めてきました。
ここでは、人気SaaSのコピー開発をシリーズ化して行い、技術とソースを公開していきます。新SaaS事業を企画されている方々に既存人気SaaSの内部技術を再現し提供致します。
ハンズオン形式で提供し、実践の度にシステムが完成していくディアゴスティーニ型です。記事の内容に対する質問や講義のご依頼等ありましたらお気軽に以下よりDM、コメント等頂けますと幸いです。コピー開発して欲しいSaaSサービスのリクエストもお寄せ下さい。
500円の記事は、TwitterとLINEから欲しい記事タイトルと送信先メールアドレスを添えてメッセージを頂ければnoteのプレゼント機能を用いて無料でプレゼント致します。
情報配信も行って参りますので、是非フォロー、お友達登録ください。
Twitter - 素敵なSaaSをコピー開発する遊び - Toshimi Kawata(川田敏巳)
「2兆円超成長市場CCaaS開発 - クラウドPBX開発編」共通注意喚起!
このシリーズでは、Asteriskというオープソースを使用します。Asteriskの技術情報はネット上にも少なく、更にネット上のAsterisk関連の技術情報の中には避けるべき記事があります。
sip.confというファイルを使用している記事
MacroやDial()のMオプションを使用している記事
録音にMonitor()を用いている記事
いずれも既に非推奨であり使用してはなりません。ハマるきっかけになりやすいのでご注意ください。
前回のおさらい
前回の記事はこちらです。
前回はAORのmax_contactsを書き換え、一つのAORが一つのENDPOINTに対して複数のCONTACTを持てる状態にしました。これによって、複数のデバイスが同時にRegisterできる状態となったのです。
テストとして複数のデバイスから発信を行ってみると、全て正常に発信できました。
一方で、着信は不具合が生じたのです。例えば、102というアカウントが3つのデバイスに入っていて、AORに正常に3つのCONTACTが登録されたとしても、着信時に鳴動するデバイスは3つのうち一つだけになるという不具合です。本来なら3つ同時に鳴動して欲しい訳ですね。
なぜ着信に問題が起こるのか?
なぜ、このようなことが起こるのでしょう?
困った時はまずCLIをリアルタイムで見るという癖をつけてくださいね。CLIで確認するとDial()している箇所はここです。
-- Executing [102@common_out:2] Dial("PJSIP/101-0000000f", "PJSIP/102,30,U(internal_dial_answered^101)") in new stack
宛先が以下のようになっていますね。
PJSIP/102
という意味です。
でも、よく考えてみてください。着信を通信するための情報は誰が持っていますか?ENDPOINTですか?AUTHですか?AORですか?CONTACTですか?
探してみましょう。
ここから先は
¥ 500
当記事がお役に立てましたらサポート頂けますと嬉しいです!様々なSaaSコピー開発をハンズオン形式+ソースで公開しております。開発コストを最小に抑え、起業家や事業家の方々の夢の実現を低コスト化する為力を尽くして参ります。頂いたサポートはコピー開発と執筆資金として使用させて頂きます。