|
NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectcom.docomo_um.module.net.Session
com.docomo_um.module.net.VoiceSession
public final class VoiceSession
音声通話の接続を表すクラスです。
音声発信時は、VoiceController.createSession(String) の引数に電話番号を設定して本クラスのインスタンスを生成し、send() をコールします。
音声着信時は、ModemControllerListener.onReceived(ModemController, Session)の第2引数に
本クラスのインスタンスが渡されるので、receive() をコールします。
接続を切断する場合は、disconnect() をコールします。
Session,
VoiceController| フィールドの概要 | |
|---|---|
static int |
MANNER_MODE_TYPE_DRIVE
マナーモード種別の一つで、公共モード(ドライブモード)を表します。 |
static int |
MANNER_MODE_TYPE_NONE
マナーモード種別の一つで、何も設定されていない状態を表します。 |
static int |
STATUS_HOLD
音声通話の状態の一つで、保留中を表します。 |
static int |
STATUS_IDLE
音声通話の状態の一つで、アイドルを表します(初期値)。 |
static int |
STATUS_TALKING
音声通話の状態の一つで、通話中を表します。 |
| クラス com.docomo_um.module.net.Session から継承されたフィールド |
|---|
CONNECTION_STATUS_CONNECT, CONNECTION_STATUS_DISCONNECT, CONNECTION_STATUS_INCOMING_CALL, CONNECTION_STATUS_OUTGOING_CALL |
| メソッドの概要 | |
|---|---|
void |
disconnect()
切断します。 |
int |
getCallStatus()
音声通話の通話状態を取得します。 |
java.lang.String |
getDestination()
接続先を取得します。 |
int |
getMannerModeType()
マナーモード種別を取得します。 |
void |
hold()
通話呼を保留呼に設定します。 |
void |
receive()
着信時に接続します。 |
void |
redirect()
着信時に音声着信のセッションを転送先電話番号に転送します。 |
void |
reject()
着信時に音声着信を拒否します。 |
void |
send()
発信します。 |
void |
sendAnswering()
着信時に音声着信のセッションを留守番電話サービスに転送します。 |
void |
sendDTMF(java.lang.String message)
DTMFを送信します。 |
| クラス com.docomo_um.module.net.Session から継承されたメソッド |
|---|
getConnectedStatus |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait |
| フィールドの詳細 |
|---|
public static final int STATUS_TALKING
getCallStatus(),
定数フィールド値public static final int STATUS_HOLD
getCallStatus(),
定数フィールド値public static final int STATUS_IDLE
getCallStatus(),
定数フィールド値public static final int MANNER_MODE_TYPE_NONE
public static final int MANNER_MODE_TYPE_DRIVE
| メソッドの詳細 |
|---|
public java.lang.String getDestination()
着信時において、接続先電話番号が公衆電話、非通知設定、通知不可能の場合、本メソッドはnullを返します。
転送でんわによって接続先が転送された場合、本メソッドはこのモジュールと直接発着信を行っているモジュールの接続先を返します。 具体的には、以下の振る舞いとなります。
VoiceController.createSession(String)で指定した接続先を返します。
Session 内の getDestinationpublic int getCallStatus()
STATUS_TALKING,
STATUS_HOLD,
STATUS_IDLEpublic int getMannerModeType()
公共モード(ドライブモード)設定中の着信により生成されたセッションではMANNER_MODE_TYPE_DRIVEを返します。
MANNER_MODE_TYPE_NONE,
MANNER_MODE_TYPE_DRIVE
public void send()
throws SessionException,
RegulationException,
ExternalStatusException,
DeviceException
同じ接続先に対して本メソッドを連続して発信した場合、3GPP標準仕様の再発信規制により、SessionExceptionが発生します。
CS規制中に本メソッドをコールした場合、RegulationExceptionが発生します。
ただし、緊急呼の場合は例外は発生せずに発信を行います。
本セッションが切断状態(Session.CONNECTION_STATUS_DISCONNECT)以外の状態で本メソッドをコールした場合、何もしません。
本セッション以外のセッションにおいて、既に発信中(Session.CONNECTION_STATUS_OUTGOING_CALL)、着信中(Session.CONNECTION_STATUS_INCOMING_CALL)、
通話中(STATUS_TALKING)の音声回線がある場合に本メソッドをコールすると、IllegalStateExceptionが発生します。
本セッション以外のセッションにおいて、保留中(STATUS_HOLD)の音声回線がある場合は、正常に発信処理を行うことが可能です。
但し、緊急呼の場合はこの限りではなく、緊急呼の発信時は、本セッション以外のセッションを切断して緊急呼の発信を行います。
本メソッドにて発信処理後、接続先が応答することで接続状態に遷移します。
Session 内の sendjava.lang.IllegalStateException - 発信が行えない状態で本メソッドをコールした場合に発生します。
SessionException - 再発信規制など、正常に処理できなかった場合に発生します。
RegulationException - 規制による通信失敗の場合に発生します。
ExternalStatusException - UIMが挿入されていない場合など、発信に失敗した場合に発生します。
DeviceException - デバイスの故障により、通信に失敗した場合に発生します。
public void receive()
throws SessionException
本セッションが着信中(Session.CONNECTION_STATUS_INCOMING_CALL)以外の状態で本メソッドをコールした場合、何もしません。
本セッション以外のセッションにおいて、既に通話中(STATUS_TALKING)の音声回線がある場合に本メソッドをコールすると、IllegalStateExceptionが発生します。
他に通話中の音声回線があり、本セッションを通話中(STATUS_TALKING)にする場合は、
通話中の音声回線を切断してから本メソッドをコールするか、VoiceController.changeHoldStatus()をコールしてください。
本セッションにMANNER_MODE_TYPE_DRIVEが設定されている場合に本メソッドをコールするとIllegalStateExceptionが発生します。
Session 内の receivejava.lang.IllegalStateException - 着信を受けられない状態で本メソッドをコールした場合に発生します。
SessionException - 内部エラーにより処理が中断した場合に発生します。VoiceController.changeHoldStatus()
public void disconnect()
throws SessionException
切断します。
本セッションが切断状態(Session.CONNECTION_STATUS_DISCONNECT)で本メソッドを呼び出した場合は何もしません。
Session 内の disconnectSessionException - 内部エラーにより処理が中断した場合に発生します。
public void hold()
throws SessionException,
CommunicationFailureException
本セッションが通話中(STATUS_TALKING)以外の状態で本メソッドをコールした場合、何もしません。
本セッション以外のセッションにおいて、既に保留呼がある場合や、
本セッションの通信が緊急呼である場合に、本メソッドをコールするとIllegalStateExceptionが発生します。
通話呼を保留呼に設定するにはキャッチホン契約が必要です。キャッチホン未契約で通話呼を保留呼に設定した場合はSessionExceptionが発生します。
java.lang.IllegalStateException - 本セッション以外のセッションにおいて、既に保留呼がある場合や、本セッションが緊急呼である場合に発生します。
SessionException - 通話呼を保留呼に設定する際にキャッチホン契約が未契約であった場合など、正常に処理できなかった場合に発生します。
CommunicationFailureException - 通信異常の場合に発生します。
public void sendDTMF(java.lang.String message)
throws SessionException,
CommunicationFailureException
送信可能な文字は{0-9、#、*、A-D、a-d}です。
本セッションが発信中(Session.CONNECTION_STATUS_OUTGOING_CALL)または、接続中(Session.CONNECTION_STATUS_CONNECT)かつ通話中(STATUS_TALKING)以外の状態で
本メソッドをコールした場合、何もしません。
VoiceExtensible 内の sendDTMFmessage - 送信する文字列を指定します。
java.lang.NullPointerException - messageがnullの場合に発生します。
java.lang.IllegalArgumentException - messageにサポート外の文字が指定された場合に発生します。
SessionException - 内部エラーにより処理が中断した場合に発生します。
CommunicationFailureException - 通信異常の場合に発生します。
public void redirect()
throws SessionException,
CommunicationFailureException
本セッションが着信中(Session.CONNECTION_STATUS_INCOMING_CALL)以外の状態で本メソッドをコールした場合、何もしません。
本セッションにMANNER_MODE_TYPE_DRIVEが設定されている場合に本メソッドをコールするとIllegalStateExceptionが発生します。
VoiceExtensible 内の redirectjava.lang.IllegalStateException - 転送先電話番号に転送できない状態で本メソッドをコールした場合に発生します。
SessionException - 転送電話サービス未契約の場合や転送先不明の場合など、正常に処理できなかった場合に発生します。
CommunicationFailureException - 通信異常の場合に発生します。
public void sendAnswering()
throws SessionException,
CommunicationFailureException
本セッションが着信中(Session.CONNECTION_STATUS_INCOMING_CALL)以外の状態で本メソッドをコールした場合、何もしません。
本セッションにMANNER_MODE_TYPE_DRIVEが設定されている場合に本メソッドをコールするとIllegalStateExceptionが発生します。
VoiceExtensible 内の sendAnsweringjava.lang.IllegalStateException - 留守番電話サービスに転送できない状態で本メソッドをコールした場合に発生します。
SessionException - 留守番電話サービス未契約の場合など、正常に処理できなかった場合に発生します。
CommunicationFailureException - 通信異常の場合に発生します。
public void reject()
throws SessionException
本セッションが着信中(Session.CONNECTION_STATUS_INCOMING_CALL)以外の状態で本メソッドをコールした場合、何もしません。
本セッションにMANNER_MODE_TYPE_DRIVEが設定されている場合に本メソッドをコールするとIllegalStateExceptionが発生します。
VoiceExtensible 内の rejectjava.lang.IllegalStateException - 着信拒否できない状態で本メソッドをコールした場合に発生します。
SessionException - 内部エラーにより処理が中断した場合に発生します。
|
Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved. | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||