通話解除の理由
通話が終了すると、通話タイプによって1対1通話のイベントコールバックまたはグループ通話のイベントコールバックが呼び出されます。コールバックで渡されたクエリパラメーターを確認することで、通話が終了した理由を把握できます。
通話解除の理由は、次のタイプに分類されます。
| タイプ | 説明 | 関連パラメーターキー | 備考 |
|---|---|---|---|
| Simple | Q.850コード。6つのコードのみ対応します。 | terminate | 1対1通話のみ |
| LINE Planetの定義 | LINE Planetが定義した通話解除の理由。クライアントとサーバーで共通の値を使用します。 | disconnect_reason、releaser_type | |
| アプリケーション定義 | アプリケーションが定義した通話解除の理由です。 | user_rel_code | |
| デバッグ | 通話解除関連の低レベルのデータです。 | rel_code、rel_code_str |
Simpleコード
terminateパラメーターは、Q.850コードの中から6つのコードだけを使用します。
| 定義 | Q.850原因コード |
|---|---|
| NORMAL_RELEASED | 16 コールバックパラメーターdurationが0より大きければ、コールバックパラメーターterminateは16になります。 |
| CANCELED | 77 |
| REJECTED | 21 |
| BUSY | 17 |
| NO_ANSWER | 18 |
| else | 127 |
LINE Planet定義コード(Disconnect reason)
LINE Planetは、クライアントとサーバーに共通して定義された通話終了の理由とソースに関する情報を提供します。この値は、1対1通話のイベントコールバックまたはグループ通話のイベントコールバックのdisconnect_reasonとreleaser_typeパラメーターとして渡されます。
disconnect_reasonとreleaser_typeについて詳しくは、通話切断の理由を参照してください。
アプリケーション定義コード
アプリケーション独自で通話解除の理由を定義するには、user_rel_codeを使用できます。通話が解除されたとき、アプリケーションはPlanetKitを利用して文字列形式で独自の理由を定義します。この文字列は、user_rel_codeに含まれ、LINE Planetサーバーからアプリサーバーへ渡されます。
デバッグ用のコード
LINE Planetは、通話が切断されたとき、rel_code、rel_code_strを利用して何が起こったのかを追跡できます。