この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、シスコ デバイス固有 TAPI 拡張について説明します。CiscoLineDevSpecific および CCiscoPhoneDevSpecific クラスが親クラスです。この章では、lineDevSpecific 関数を使用してシスコ デバイス固有 TAPI 拡張を呼び出す方法について説明します。また、phoneDevSpecific を呼び出すときに使用できるクラスについても説明します。次のような構成になっています。
次の表に、シスコ回線デバイス固有拡張のサブクラスを挙げて説明します。この項では、次のデータ構造体の表および説明ですべての拡張について説明します。
Cisco TSP は、いくつかの回線デバイス固有拡張を実装します。これらの拡張では、LINEDEVCAPS データ構造体の DevSpecific 領域(dwDevSpecificSize および dwDevSpecificOffset)が使用されます。この領域のサイズは可変です。DevSpecific 領域のレイアウトは、CiscoLineDevSpecificMsg.h ヘッダー ファイル内の Cisco_LineDevCaps_Ext 構造体で定義されています。この構造体のデータは、拡張バージョンに基づいて編成されています。
// LINEDEVCAPS Dev Specific extention // typedef struct Cisco_LineDevCaps_Ext { Cisco_LineDevCaps_Ext00030000 ext30; Cisco_LineDevCaps_Ext00060000 ext60; Cisco_LineDevCaps_Ext00070000 ext70; Cisco_LineDevCaps_Ext00080000 ext80; Cisco_LineDevCaps_Ext00090000 ext90; Cisco_LineDevCaps_Ext00090001 ext91; Cisco_LineDevCaps_Ext000A0000 extA0; Cisco_LineDevCaps_Ext000C0000 extC0; Cisco_LineDevCaps_Ext000D0000 extD0; Cisco_LineDevCaps_Ext000E0000 extE0;
} CISCO_LINEDEVCAPS_EXT;
各回線デバイスの拡張領域には、この構造体の先頭から、アプリケーションがネゴシエートした拡張バージョンまでの部分が含まれます。
この後には、個々の拡張バージョンのサブ構造体の定義が続きます。
// LINEDEVCAPS 00030000 拡張 // typedef struct Cisco_LineDevCaps_Ext00030000 { DWORD dwLineTypeFlags; } CISCO_LINEDEVCAPS_EXT00030000; // LINEDEVCAPS 00060000 拡張 // typedef struct Cisco_LineDevCaps_Ext00060000 { DWORD dwLocale; } CISCO_LINEDEVCAPS_EXT00060000; // LINEDEVCAPS 00070000 拡張 // typedef struct Cisco_LineDevCaps_Ext00070000 { DWORD dwPartitionOffset; DWORD dwPartitionSize; } CISCO_LINEDEVCAPS_EXT00070000; // LINEDEVCAPS 00080000 拡張 // typedef struct Cisco_LineDevCaps_Ext00080000 { DWORD dwLineDevCaps_DevSpecificFlags; // LINEFEATURE_DEVSPECIFIC DWORD dwLineDevCaps_DevSpecificFeatureFlags; // LINEFEATURE_DEVSPECIFICFEAT RECORD_TYPE_INFO recordTypeInfo; INTERCOM_SPEEDDIAL_INFO intercomSpeedDialInfo; } CISCO_LINEDEVCAPS_EXT00080000; // LINEDEVCAPS 00090000 拡張 // // -------------------------------- typedef struct Cisco_LineDevCaps_Ext00090000 { IpAddressingMode dwLineDevCapsIPAddressingMode; // LINEFEATURE_DEVSPECIFIC } CISCO_LINEDEVCAPS_EXT00090000; // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // シスコ拡張 00090001 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // LINEDEVCAPS 00090001 拡張 // // -------------------------------- typedef struct Cisco_LineDevCaps_Ext00090001 { DWORD MaxCalls ; DWORD BusyTrigger ; DWORD LineInstanceNumber ; DWORD LineLabelASCIIOffset ; DWORD LineLabelASCIISize ; DWORD LineLabelUnicodeOffset ; DWORD LineLabelUnicodeSize ; DWORD VoiceMailPilotDNOffset ; DWORD VoiceMailPilotDNSize ; DWORD RegisteredIPAddressMode;// IpAddressingMode DWORD RegisteredIPv4Address ; DWORD RegisteredIPv6AddressOffset; DWORD RegisteredIPv6AddressSize; DWORD ApplicationFeatureFlagBitMap;// CiscoFeatureInformation DWORD DeviceFeatureFlagBitMap; // CiscoFeatureInformation } CISCO_LINEDEVCAPS_EXT00090001; typedef struct Cisco_LineDevCaps_Ext000A0000 { DWORD dwPickUpGroupDNOffset; DWORD dwPickUpGroupDNSize; DWORD dwPickUpGroupPartitionOffset; DWORD dwPickUpGroupPartitionSize; } CISCO_LINEDEVCAPS_EXT000A0000; typedefstruct Cisco_LineDevCaps_Ext000C0000 { DWORD DeviceProtocolType; DWORD RemoteDestinationOffset; DWORD RemoteDestinationSize; DWORD RemoteDestinationCount; DWORD RemoteDestinationElementFixedSize; DWORD IsMyAppLastToSetActiveRD; } CISCO_LINEDEVCAPS_EXT000C0000; typedef struct Cisco_LineDevCaps_Ext000D0000 { DWORD DeviceMultiMediaCapabilityBitMask; DWORD DeviceMultiMediaCapabilityOffset; DWORD DeviceMultiMediaCapabilitySize; DWORD DeviceMultiMediaCapabilityCount; DWORD DeviceMultiMediaCapabilityElementFixedSize; DWORD ClusterIDSize; DWORD ClusterIDOffset; } CISCO_LINEDEVCAPS_EXT000D0000;
DevSpecific 構造体のレイアウトとデータの詳細については、CiscoLineDevSpecificMsg.h ヘッダー ファイルを参照してください。
フィールド | 説明 |
---|---|
DWORD DeviceMultiMediaCapabilityBitMask | MultiMediaCapability 構造体情報のどのフィールドが有効であるかを示すビットマスク フィールド |
DWORD DeviceMultiMediaCapabilityOffset | DeviceMultiMediaCapability 構造体情報を指すオフセット |
DWORD DeviceMultiMediaCapabilitySize | DeviceMultiMediaCapability 情報のサイズ |
DWORD DeviceMultiMediaCapabilityCount | 使用可能な MultiMediaCapaility 情報の数 |
DWORD DeviceMultiMediaCapabilityElementFixedSize | MultiMediaCapability 構造体のサイズ |
DWORD ClusterIDSize DWORD ClusterIDOffset |
回線があるクラスタ ID の名前のオフセットとサイズ |
CiscoDeviceMultiMediaCapInfoBitMask:公開されている MultiMediaCapability 構造体のどのフィールド有効で、アプリケーションで使用できるかを示すビット マスクです。このビットマスク フィールドを更新するために使用される Enum 定義を次に示します。
enum CiscoDeviceMultiMediaCapInfoBitMask { CiscoDeviceMultiMediaCapability_None = 0x00000000, CiscoDeviceMultiMediaCapability_VideoCapability = 0x00000001, CiscoDeviceMultiMediaCapability_TelepresenceInfo = 0x00000002, CiscoDeviceMultiMediaCapability_ScreenCount = 0x00000004 };
デバイスのデバイス マルチメディア機能は、DevSpecific 部分の構造体 DeviceMultiMediaCapability として公開されます。この構造体には、フィールド deviceVideoCapability、telepresenceInfo および screenCount があります。
typedef struct DeviceMultiMediaCapability { DWORD deviceVideoCapability; DWORD telepresenceInfo; DWORD screenCount; } DeviceMultiMediaCapability;
データ フィールド | 値 |
---|---|
DeviceVideoCapability | このフィールドには、次の列挙型で定義されるタイプ値が格納されます。[CiscoDeviceVideoCapabilityInfo] |
TelepresenceInfo | このフィールドは、テレプレゼンス相互運用性がデバイスでサポートされているかどうかを示し、次の列挙型で定義されます。[CiscoDeviceTelepresenceInfo] |
ScreenCount | このフィールドは、デバイスの画面数を示します。 |
enum CiscoLineDeviceVideoCapabilityInfo { CiscoLineDeviceVideoCapability_None = 0x00000000, CiscoLineDeviceVideoCapability_Enabled = 0x00000001, }; enum CiscoDeviceTelepresenceInfo { CiscoDeviceTelepresence_None = 0x00000000, CiscoDeviceTelepresence_Enabled = 0x00000001, };
11.5 リリースの一環として、CISCO_LINEDEVCAPS_EXT が CISCO_LINEDEVCAPS_EXT000E0000 構造体を含むように変更されました。
// LINEDEVCAPS 000E0000 extention // typedef struct Cisco_LineDevCaps_Ext000E0000 { DWORD DeviceHuntGroupLoginStatus; }CISCO_LINEDEVCAPS_EXT000E0000;
データ フィールド |
値 |
---|---|
DeviceHuntGroupLoginStatus |
DeviceHuntGroupLoginStatus フィールドには、次の列挙型 [CiscoDeviceHuntGroupLoginStatus] で定義されるタイプ値が格納されます。 |
enum CiscoDeviceHuntGroupLoginStatus { CiscoDeviceHuntGroupLoginStatus_NotApplicable = 0, CiscoDeviceHuntGroupLoginStatus_Login = 1, CiscoDeviceHuntGroupLoginStatus_Logout = 2 };
Cisco TSP は、いくつかの回線デバイス固有拡張を実装します。これらの拡張では、LINECALLINFO データ構造体の DevSpecific 領域(dwDevSpecificSize および dwDevSpecificOffset)が使用されます。この領域のサイズは可変です。DevSpecific 領域のレイアウトは、CiscoLineDevSpecificMsg.h ヘッダー ファイルの Cisco_LineCallInfo_Ext 構造体で定義されています。この構造体のデータは、拡張バージョンに基づいて編成されています。
// LINECALLINFO デバイス固有拡張 // typedef struct Cisco_LineCallInfo_Ext { Cisco_LineCallInfo_Ext00060000 ext60; Cisco_LineCallInfo_Ext00070000 ext70; Cisco_LineCallInfo_Ext00080000 ext80; Cisco_LineCallInfo_Ext00080001 ext81; Cisco_LineCallInfo_Ext00090000 ext90; Cisco_LineCallInfo_Ext00090000 ext91; Cisco_LineCallInfo_Ext000A0000 extA0; Cisco_LineCallInfo_Ext000D0000 extD0;
} CISCO_LINECALLINFO_EXT;
各回線デバイスの拡張領域には、この構造体の先頭から、アプリケーションがネゴシエートした拡張バージョンまでの部分が含まれます。
この後には、個々の拡張バージョンのサブ構造体の定義が続きます。
// LINECALLINFO 00060000 拡張 // typedef struct Cisco_LineCallInfo_Ext00060000 { TSP_UNICODE_PARTY_NAMES unicodePartyNames; } CISCO_LINECALLINFO_EXT00060000; // LINECALLINFO 00070000 拡張 // typedef struct Cisco_LineCallInfo_Ext00070000 { DWORD SRTPKeyInfoStructureOffset; // LINECALLINFO のベースからのオフセット DWORD SRTPKeyInfoStructureSize; // 可変長データの合計サイズを含む DWORD SRTPKeyInfoStructureElementCount; DWORD SRTPKeyInfoStructureElementFixedSize; DWORD DSCPInformationOffset; // LINECALLINFO のベースからのオフセット DWORD DSCPInformationSize; // DSCPInformation 構造体の固定サイズ DWORD DSCPInformationElementCount; DWORD DSCPInformationElementFixedSize; DWORD CallPartitionInfoOffset; // LINECALLINFO のベースからのオフセット DWORD CallPartitionInfoSize; // CallPartitionInformation 構造体の固定サイズ DWORD CallPartitionInfoElementCount; DWORD CallPartitionInfoElementFixedSize; DWORD ExtendedCallInfoOffset; // = = = > ExtendedCallInfo { } DWORD ExtendedCallInfoSize; // DWORD ExtendedCallInfoElementCount; // DWORD ExtendedCallInfoElementSize; // } CISCO_LINECALLINFO_EXT00070000; // LINECALLINFO 00080000 拡張 // // --------------------------------- typedef struct Cisco_LineCallInfo_Ext00080000 { DWORD CallSecurityStatusOffset; DWORD CallSecurityStatusSize; DWORD CallSecurityStatusElementCount; DWORD CallSecurityStatusElementFixedSize; DWORD CCMCallIDInfoOffset; DWORD CCMCallIDInfoSize; DWORD CCMCallIDInfoElementCount; DWORD CCMCallIDInfoElementFixedSize; DWORD CallAttrtibuteInfoOffset; DWORD CallAttrtibuteInfoSize; DWORD CallAttrtibuteInfoElementCount; DWORD CallAttrtibuteInfoElementFixedSize; DWORD TSPIntercomSideInfo; DWORD CallingPartyIpAddr; } CISCO_LINECALLINFO_EXT00080000; // LINECALLINFO 00080001 拡張 // // --------------------------------- typedef struct Cisco_LineCallInfo_Ext00080001 { DWORD CPNInfoOffset; // CPNInfo 構造体の構造体配列 DWORD CPNInfoSize; DWORD CPNInfoElementCount; DWORD CPNInfoElementFixedSize; } CISCO_LINECALLINFO_EXT00080001; // LINECALLINFO 00090000 拡張 // // --------------------------------- typedef struct Cisco_LineCallInfo_Ext00090000 { DWORD IPv6InfoOffset; DWORD IPv6InfoSize; DWORD IPv6InfoElementCount; DWORD IPv6InfoElementFixedSize; DWORD FarEndIPAddressingMode; }CISCO_LINECALLINFO_EXT00090000; // LINECALLINFO 000A0000 拡張 // // --------------------------------- typedef struct Cisco_LineCallInfo_Ext000A0000 { DWORD CallAttributeBitMask; DWORD UniqueCallRefIDInfoOffset; DWORD UniqueCallRefIDInfoSize; DWORD UniqueCallRefIDInfoElementCount; DWORD UniqueCallRefIDElementFixedSize; //HuntList DWORD HuntPilotInfoOffset; // HuntPoiltInfo を指す DWORD HuntPilotInfoSize; DWORD HuntPilotInfoCount; DWORD HuntPilotInfoElementFixedSize; DWORD GlobalCallID; DWORD CallManagerID; } CISCO_LINECALLINFO_EXT000A0000;
typedef struct Cisco_LineCallInfo_Ext000D0000 { DWORD CallingPartyMultiMediaCapBitMask; // CiscoDeviceMultiMediaCapInfoBitMask を参照する DWORD CalledPartyMultiMediaCapBitMask; // CiscoDeviceMultiMediaCapInfoBitMask を参照する DWORD CallingPartyMultiMediaCapInfoOffset; // DeviceCallMultiMediaCapInfo を参照する DWORD CallingPartyMultiMediaCapInfoSize; DWORD CallingPartyMultiMediaCapInfoCount; DWORD CallingPartyMultiMediaCapInfoElementFixedSize; DWORD CalledPartyMultiMediaCapInfoOffset; // DeviceCallMultiMediaCapInfo を参照する DWORD CalledPartyMultiMediaCapInfoSize; DWORD CalledPartyMultiMediaCapInfoCount; DWORD CalledPartyMultiMediaCapInfoElementFixedSize; DWORD MultiMediaStreamsInfoOffset; // VideoStreamInfo を参照する DWORD MultiMediaStreamsInfoSize; DWORD MultiMediaStreamsInfoCount; DWORD MultiMediaStreamsInfoElementFixedSize; DWORD RecordingAttributeInfo_ExtD0_Offset; DWORD RecordingAttributeInfo_ExtD0_Size; DWORD RecordingAttributeInfo_ExtD0_Count; DWORD RecordingAttributeInfo_ExtD0_ElementFixedSize; } CISCO_LINECALLINFO_EXT000D0000;
typedef struct DeviceCallMultiMediaCapInfo { DWORD VideoCapStatus; DWORD TelepresenceInfo; DWORD ScreenCount; } DeviceCallMultiMediaCapInfo;
データ フィールド | 値 |
---|---|
DeviceVideoCapability |
DeviceVideoCapability フィールドには、次の列挙型(CiscoDeviceVideoCapabilityInfo)で定義されるタイプ値が格納されます。 |
TelepresenceInfo |
このフィールドは、テレプレゼンスがデバイスで有効かどうかを示し、次の列挙型で定義されます。[ CiscoDeviceTelepresenceInfo]。 |
ScreenCount |
このフィールドは、デバイスの画面数を示します。 |
CallingPartyMultiMediaCapInfoBitMask |
このフィールドは、DeviceCallMultiMediaCapInfo 構造体のどのフィールドに有効な情報 [CiscoDeviceMultiMediaCapInfoBitMask] があるかを示します。 |
CalledPartyMultiMediaCapInfoBitMask |
このフィールドは、DeviceCallMultiMediaCapInfo 構造体のどのフィールドに有効な情報 [CiscoDeviceMultiMediaCapInfoBitMask] があるかを示します。 |
enum CiscoDeviceVideoCapabilityInfo { CiscoDeviceVideoCapability_None = 0x00000000, CiscoDeviceVideoCapability_Enabled = 0x00000001, }; enum CiscoDeviceTelepresenceInfo { CiscoDeviceTelepresence_None = 0x00000000, CiscoDeviceTelepresence_Enabled = 0x00000001, }; enum CiscoDeviceMultiMediaCapInfoBitMask { CiscoDeviceMultiMediaCapability_None = 0x00000000, CiscoDeviceMultiMediaCapability_VideoCapability = 0x00000001, CiscoDeviceMultiMediaCapability_TelepresenceInfo = 0x00000002, CiscoDeviceMultiMediaCapability_ScreenCount = 0x00000004 };
オープンされた回線に着信した場合、TSP は LINE_CALLDEVSPECIFIC イベントを、マルチメディア ストリームの情報を使用するアプリケーションに送信してから、アプリケーションで LINECALLINFO を照会して、マルチメディア ストリームの詳細な情報を得ることができます。マルチメディア ストリームの情報は、LineCallinfo の DevSpecific 部分の VideoStreamInfo 構造体の一部として公開されます。この構造体には、次のデータが含まれています。
typedef struct VideoStreamInfo { DWORD StreamId; DWORD CompressionType; // MEDIAPAYLOAD DWORD BitRate; DWORD MediaMode; DWORD bKeyInfoPresent; //ipv6 DWORD RxRTPDestinationV6Offset; DWORD RxRTPDestinationV6Size; DWORD RxRTPDestinationV4; DWORD RxIpAddrMode; DWORD TxRTPDestinationV6Offset; DWORD TxRTPDestinationV6Size; DWORD TxRTPDestinationV4; DWORD TxIpAddrMode; MultiMediaEncryptionKeyInfo MediaEncryptionKeyInfo; } VideoStreamInfo;
データ フィールド | 値 |
---|---|
StreamId |
このフィールドは、マルチメディア ストリームのインデックスを示します。 |
CompressionType |
このフィールドは、ビデオ ストリームの圧縮タイプを示します。 |
BitRate |
このフィールドは、ビデオ ストリームのビット レートを示します。 |
MediaMode |
このフィールドは、ビデオ ストリームのメディア モードを示します。 |
PacketSize |
このフィールドは、ビデオ ストリームのパケット サイズを示します。 |
bKeyInfoPresent |
キー情報が存在するかどうかを示します。 |
RxRTPDestinationV6Offset RxRTPDestinationV6Size |
受信 RTP 宛先 Ipv6 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
RxRTPDestinationV4 |
このフィールドは、ビデオ ストリームの Ipv4 アドレスを示します。 |
RxIpAddrMode |
受信 IP アドレッシング モードを指定します。 |
TxRTPDestinationV6Offset TxRTPDestinationV6Size |
送信 RTP 宛先 Ipv6 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
TxRTPDestinationV4 |
このフィールドは、ビデオ ストリームの Ipv4 アドレスを示します。 |
TxIpAddrMode |
送信 IP アドレッシング モードを指定します。 |
MediaEncryptionKeyInfo |
マルチメディア暗号キー情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
CTIManager へのセキュアな接続があり、アプリケーション ユーザがマルチメディア暗号キー情報の受信を承認された場合、TSP は、構造体 CiscoTsp_MultiMediaEncryptionKeyInfo の一部として、詳細なマルチメディア暗号化キー情報をアプリケーションに報告します。Cisco TSP で提供されるマルチメディア暗号キー情報には、TxKeylen、RxKeylen、Txkey、RxKey、TxSalt、RxSalt、AlgorithmID、TxIsMKIPresent、RxIsMKIPresent、および SecurityIndicator が含まれます。これらのキー情報を受信するには、管理者が Call Manager 管理者ユーザ ページで TLS Enabled フラグと SRTP Enabled フラグを設定し、TSP と CTIManager の間で TLS リンクを確立する必要があります。
typedef struct CiscoTsp_MultiMediaEncryptionKeyInfo { DWORD AlgorithmID; DWORD TxKeyOffset; DWORD TxKeySize; DWORD RxKeyOffset; DWORD RxKeySize; DWORD TxSaltOffset; DWORD TxSaltSize; DWORD RxSaltOffset; DWORD RxSaltSize; DWORD TxIsMKIPresent; DWORD RxIsMKIPresent; DWORD SecurityIndicator; } CiscoTsp_MultiMediaEncryptionKeyInfo;
データ フィールド(Data Fields) | 値 |
---|---|
AlgorithmID |
ネゴシエートされたアルゴリズム ID を指定します。 |
TxKeyOffset TxKeySize |
送信キー情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
RxKeyOffset RxKeySize |
受信キー情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
TxSaltOffset TxSaltSize |
送信 SALT 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
RxSaltOffset RxSaltSize |
受信 SALT 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO 構造体の先頭からのオフセット(バイト単位)。 |
TxIsMKIPresent |
送信 MKI が存在するかどうかを示します。 |
RxIsMKIPresent |
受信 MKI が存在するかどうかを示します。 |
SecurityIndicator |
セキュリティ インジケータを指定します。 |
DevSpecific 構造体のレイアウトとデータの詳細については、CiscoLineDevSpecificMsg.h ヘッダー ファイルを参照してください。
TSP_Unicode_Party_names 構造体と SRTP 情報構造体には、Cisco Unified TSP によって LINECALLINFO 構造体に追加されるデバイス固有拡張が記述されています。DSCPValueForAudioCalls には、StartTransmissionEvent で CTI から送信された DSCP 値が格納されます。
ExtendedCallInfo 構造体には追加のコール情報が設定されます。Cisco Unified Communications Manager Release 7.0(1) では、ExtendedCallReason フィールドは ExtendedCallInfo 構造体に属します。
CallAttributeInfo には、attributeType(Monitoring、Monitored、Recorder、securityStatus)および PartyInfo(Dn、Partition、DeviceName)に関する情報が格納されます。
CCMCallID には、CCM コール ID 値が格納されます。
CallingPartyIPAddress には、発呼側の IP アドレスが格納されます(発呼側のデバイスでこの機能がサポートされている場合)。
CallSecurityStatus 構造体には、2 者間コールと電話会議の全体的なセキュリティ状態が格納されます。
DWORD TapiCallerPartyUnicodeNameOffset; DWORD TapiCallerPartyUnicodeNameSize; DWORDTapiCallerPartyLocale; DWORD TapiCalledPartyUnicodeNameOffset; DWORD TapiCalledPartyUnicodeNameSize; DWORDTapiCalledPartyLocale; DWORD TapiConnectedPartyUnicodeNameOffset; DWORD TapiConnectedPartyUnicodeNameSize; DWORDTapiConnectedPartyLocale; DWORD TapiRedirectionPartyUnicodeNameOffset; DWORD TapiRedirectionPartyUnicodeNameSize; DWORDTapiRedirectionPartyLocale; DWORD TapiRedirectingPartyUnicodeNameOffset; DWORD TapiRedirectingPartyUnicodeNameSize; DWORDTapiRedirectingPartyLocale; DWORD SRTPKeyInfoStructureOffset; // offset from base of LINECALLINFO DWORD SRTPKeyInfoStructureSize;// includes variable length data total size DWORD SRTPKeyInfoStructureElementCount; DWORD SRTPKeyInfoStructureElementFixedSize; DWORD DSCPValueInformationOffset; DWORD DSCPValueInformationSize; DWORD DSCPValueInformationElementCount; DWORD DSCPValueInformationElementFixedSize; DWORD PartitionInformationOffset; // offset from base of LINECALLINFO DWORD PartitionInformationSize; // includes variable length data total size DWORD PartitionInformationElementCount; DWORD PartitionInformationElementFixedSize; DWORD ExtendedCallInfoOffset; DWORD ExtendedCallInfoSize; DWORD ExtendedCallInfoElementCount; DWORD ExtendedCallInfoElementSize; DWORD CallAttrtibuteInfoOffset; DWORD CallAttrtibuteInfoSize; DWORD CallAttrtibuteInfoElementCount; DWORD CallAttrtibuteInfoElementSize; DWORD CallingPartyIPAddress; DWORD CCMCallIDInfoOffset; DWORD CCMCallIDInfoSize; DWORD CCMCallIDInfoElementCount; DWORD CCMCallIDInfoElementFixedSize; DWORD CallSecurityStatusOffset; DWORD CallSecurityStatusSize; DWORD CallSecurityStatusElementCount; DWORD CallSecurityStatusElementFixedSize; DWORD IsChaperoneCall; DWORD UniqueCallRefIDInfoOffset, DWORD UniqueCallRefIDInfoSize; DWORD CallAttributeBitMask; typedef struct SRTPKeyInfoStructure { SRTPKeyInformation TransmissionSRTPInfo; SRTPKeyInformation ReceptionSRTPInfo; } SRTPKeyInfoStructure; typedef struct SRTPKeyInformation { DWORDIsSRTPDataAvailable; DWORDSecureMediaIndicator;// CiscoSecurityIndicator DWORDMasterKeyOffset; DWORDMasterKeySize; DWORDMasterSaltOffset; DWORDMasterSaltSize; DWORDAlgorithmID;// CiscoSRTPAlgorithmIDs DWORDIsMKIPresent; DWORDKeyDerivationRate; } SRTPKeyInformation; enum CiscoSRTPAlgorithmIDs { SRTP_NO_ENCRYPTION=0, SRTP_AES_128_COUNTER=1 }; enum CiscoSecurityIndicator { SRTP_MEDIA_ENCRYPT_KEYS_AVAILABLE, SRTP_MEDIA_ENCRYPT_USER_NOT_AUTH, SRTP_MEDIA_ENCRYPT_KEYS_UNAVAILABLE, SRTP_MEDIA_NOT_ENCRYPTED };
isSRTPInfoavailable が False に設定されている場合は、SRTPKeyInformation からの残りの情報を無視する必要があります。
MasterKeySize または MasterSlatSize が 0 に設定されている場合は、対応する MasterKeyOffset または MasterSaltOffset を無視する必要があります。
typedef struct DSCPValueInformation{ DWORD DSCPValueForAudioCalls; } typedef struct PartitionInformation { DWORD CallerIDPartitionOffset; DWORD CallerIDPartitionSize; DWORD CalledIDPartitionOffset; DWORD CalledIDPartitionSize; DWORD ConnecetedIDPartitionOffset; DWORD ConnecetedIDPartitionSize; DWORD RedirectionIDPartitionOffset; DWORD RedirectionIDPartitionSize; DWORD RedirectingIDPartitionOffset; DWORD RedirectingIDPartitionSize; } PartitionInformation; Struct ExtendedCallInfo { DWORD ExtendedCallReason ; DWORD CallerIDURLOffset;// CallPartySipURLInfo DWORD CallerIDURISize; DWORD CalledIDURLOffset;// CallPartySipURLInfo DWORD CalledIDURISize; DWORD ConnectedIDURIOffset;// CallPartySipURLInfo DWORD ConnectedIDURISize; DWORD RedirectionIDURIOffset;// CallPartySipURLInfo DWORD RedirectionIDURISize; DWORD RedirectingIDURIOffset;// CallPartySipURLInfo DWORD RedirectingIDURISize; } Struct CallPartySipURLInfo { DWORD dwUserOffset; //sip user string DWORDdwUserSize; DWORDdwHostOffset; //host name string DWORDdwHostSize; DWORDdwPort;// integer port number DWORD dwTransportType; // SIP_TRANS_TYPE DWORD dwURLType;// SIP_URL_TYPE } enum { CTI_SIP_TRANSPORT_TCP=1, CTI_SIP_TRANSPORT_UDP, CTI_SIP_TRANSPORT_TLS } SIP_TRANS_TYPE; enum { CTI_NO_URL = 0, CTI_SIP_URL, CTI_TEL_URL } SIP_URL_TYPE; typedef struct CallAttributeInfo { DWORD CallAttributeType; DWORD PartyDNOffset; DWORD PartyDNSize; DWORD PartyPartitionOffset; DWORD PartyPartitionSize; DWORD DeviceNameOffset; DWORD DeviceNameSize; DWORD OverallCallSecurityStatus; } typedef struct CallAttributeInfo_ExtA0 { DWORD CallAttributeType; DWORD PartyDNOffset; DWORD PartyDNSize; DWORD PartyPartitionOffset; DWORD PartyPartitionSize; DWORD DeviceNameOffset; DWORD DeviceNameSize; DWORD OverallCallSecurityStatus; DWORD TransactionID;//Secure R & M } CallAttributeInfo_ExtA0; typedef struct CallAttributeInfo_ExtB0 { CallAttributeInfo_ExtA0 attr_a0; DWORD ActiveToneDirection; } CallAttributeInfo_ExtB0; typedef struct CCMCallHandleInformation { DWORD CCMCallID; } enum { CallAttribute_Regular = 0, CallAttribute_SilentMonitorCall, CallAttribute_SilentMonitorCall_Target, CallAttribute_RecordedCall, CallAttribute_WhisperCoachingCall, CallAttribute_WhisperCoachingCall_Target, CallAttribute_Recorded_Automatic, CallAttribute_Recorded_AppInitiatedSilent, CallAttribute_Recorded_UserInitiatedFromApp, CallAttribute_Recorded_UserInitiatedFromDevice } CallAttributeType typedef struct CallSecurityStausInfo { DWORD CallSecurityStaus } CallSecurityStausInfo enum OverallCallSecurityStatus { OverallCallSecurityStatus_Unknown = 0, OverallCallSecurityStatus_NotAuthenticated, OverallCallSecurityStatus_Authenticated, OverallCallSecurityStatus_Encrypted }; typedef struct CPNInfo { DWORD CallerPartyNumberType;//refer to CiscoNumberType DWORD CalledPartyNumberType; DWORD ConnectedIdNumberType; DWORD RedirectingPartyNumberType; DWORD RedirectionPartyNumberType; DWORD ModifiedCallingPartySize; DWORD ModifiedCallingPartyOffset; DWORD ModifiedCalledPartySize; DWORD ModifiedCalledPartyOffset; DWORD ModifiedConnectedIdSize; DWORD ModifiedConnectedIdOffset; DWORD ModifiedRedirectingPartySize; DWORD ModifiedRedirectingPartyOffset; DWORD ModifiedRedirectionPartySize; DWORD ModifiedRedirectionPartyOffset; DWORD GlobalizedCallingPartySize; DWORD GlobalizedCallingPartyOffset; } CPNInfo; enum CiscoNumberType { NumberType_Unknown = 0, // UNKNOWN_NUMBER NumberType_International = 1, // INTERNATIONAL_NUMBER NumberType_National = 2, // NATIONAL_NUMBER NumberType_NetSpecificNum = 3, // NET_SPECIFIC_NUMBER NumberType_Subscriber = 4, // SUBSCRIBER_NUMBER NumberType_Abbreviated = 6 // ABBREVIATED_NUMBER }; typedef struct Cisco_LineCallInfo_Ext000A0000 { … //HuntList DWORD HuntPilotInfoOffset;//point to HuntPoiltInfo DWORD HuntPilotInfoSize; DWORD HuntPilotInfoCount; DWORD HuntPilotInfoElementFixedSize; }CISCO_LINECALLINFO_EXT000A0000; //HuntList typedef struct HuntPilotInfo { DWORD CallingPartyHuntPilotDNOffset; DWORD CallingPartyHuntPilotDNSize; DWORD CallingPartyHuntPilotPartitionOffset; DWORD CallingPartyHuntPilotPartitionSize; DWORD CalledPartyHuntPilotDNOffset; DWORD CalledPartyHuntPilotDNSize; DWORD CalledPartyHuntPilotPartitionOffset; DWORD CalledPartyHuntPilotPartitionSize; DWORD ConnectedPartyHuntPilotDNOffset; DWORD ConnectedPartyHuntPilotDNSize; DWORD ConnectedPartyHuntPilotPartitionOffset; DWORD ConnectedPartyHuntPilotPartitionSize; }HuntPilotInfo; typedef struct UniqueCallRefIDInfo { DWORD UniqueCallRefIDOffset; DWORD UniqueCallRefIDSize; } UniqueCallRefIDInfo; typedef enum { TSPCallAttribute_Normal = 0x00000000, TSPCallAttribute_IntercomOriginator = 0x00000001, TSPCallAttribute_IntercomTarget = 0x00000002, TSPCallAttribute_SilentMonitorCall = 0x00000004, TSPCallAttribute_SilentMonitorCall_Target = 0x00000008, TSPCallAttribute_RecordedCall = 0x00000010, TSPCallAttribute_ChaperoneCall = 0x00000020, TSPCallAttribute_CallForwardAllSet = 0x00000040, TSPCallAttribute_CallForwardAllClear = 0x00000080, TSPCallAttribute_WhisperMonitorCall = 0x00000100, TSPCallAttribute_WhisperMonitorCall_Target= 0x00000200, TSPCallAttribute_BIBCall = 0x00000400, TSPCallAttribute_ServerCall =0x00000800, TSPCallAttribute_SendMediaToBIB = 0x00001000 } CallAttributeBits
Cisco TSP は、LineGetCallInfo が拡張バージョン 0x000D0000 以上で呼び出されると、LINEGETCALLINFO の devspecific データの linedevice のマルチメディア機能情報を提供します。
発信者と着信側のマルチメディア機能は、DevSpecific 部分の構造体 DeviceVideoCapInfo として提供されます。この構造体には次の 3 つのフィールドがあります。
deviceVideoCapability、
telepresenceInfo、および
screenCount です。
typedef struct DeviceVideoCapInfo{ DWORD VideoCapStatus; DWORD TelepresenceInfo; DWORD ScreenCount; } DeviceVideoCapInfo;
DeviceVideoCapability フィールドには次の列挙型 [CiscoDeviceVideoCapabilityInfo] で定義されているタイプの値が含まれます。 |
|
このフィールドには次の列挙型 [CiscoDeviceTelepresenceInfo] で定義されている Telepresence がデバイスで有効かどうか示します。 |
|
enum CiscoDeviceVideoCapabilityInfo { CiscoDeviceVideoCapability_None = 0x00000000, CiscoDeviceVideoCapability_Enabled = 0x00000001, }; enum CiscoDeviceTelepresenceInfo { CiscoDeviceTelepresence_None = 0x00000000, CiscoDeviceTelepresence_Enabled = 0x00000001, };
パラメータ |
値 |
||
---|---|---|---|
TapiCallerPartyUnicodeNameOffsetTapiCallerPartyUnicodeNameSize |
Unicode の発信者 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiCallerPartyLocale |
Unicode の発信者 ID 名のロケール情報。 |
||
TapiCallerPartyUnicodeNameOffsetTapiCallerPartyUnicodeNameSize |
Unicode の発信者 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiCallerPartyLocale |
Unicode の発信者 ID 名のロケール情報。 |
||
TapiCalledPartyUnicodeNameOffsetTapiCalledPartyUnicodeNameSize |
Unicode の着信者 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiCalledPartyLocale |
Unicode の着信者 ID 名のロケール情報。 |
||
TapiConnectedPartyUnicodeNameOffsetTapiConnectedPartyUnicodeNameSize |
Unicode の接続先 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiConnectedPartyLocale |
Unicode の接続先 ID 名のロケール情報。 |
||
TapiRedirectionPartyUnicodeNameOffsetTapiRedirectionPartyUnicodeNameSize |
Unicode のリダイレクション先 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiRedirectionPartyLocale |
Unicode のリダイレクション先 ID 名のロケール情報。 |
||
TapiRedirectingPartyUnicodeNameOffsetTapiRedirectingPartyUnicodeNameSize |
Unicode のリダイレクション元 ID 名情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
TapiRedirectingPartyLocale |
Unicode のリダイレクション元 ID 名のロケール情報。 |
||
SRTPKeyInfoStructureOffset |
SRTPKeyInfoStructure へのポインタ。 |
||
SRTPKeyInfoStructureSize |
SRTP 情報の合計サイズ。 |
||
SRTPKeyInfoStructureElementCount |
SRTPKeyInfoStructure 要素の数。 |
||
SRTPKeyInfoStructureElementFixedSize |
SRTPKeyInfoStructure の固定サイズ。 |
||
SecureMediaIndicator |
メディアのセキュリティが確保されているか、アプリケーションにキー情報が許可されているかを示します。 |
||
MasterKeyOffsetMasterKeySize |
SRTP MasterKey 情報のオフセットとサイズ。 |
||
MasterSaltOffsetMasterSaltSize |
SRTP MasterSaltKey 情報のオフセットとサイズ。 |
||
AlgorithmID |
ネゴシエートされた SRTP アルゴリズム ID を示しています。 |
||
IsMKIPresent |
MKI が存在するかどうかを示します。 |
||
KeyDerivationRate |
KeyDerivationRate を示しています。 |
||
DSCPValueForAudioCalls |
音声コールの DSCP 値。 |
||
CallerIDPartitionOffsetCallerIDPartitionSize |
発信者 ID パーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
CalledIDPartitionOffsetCalledIDPartitionSize |
着信者 ID パーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
ConnectedIDPartitionOffsetConnecetedIDPartitionSize |
接続先 ID パーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
RedirectionIDPartitionOffsetRedirectionIDPartitionSize |
リダイレクション先 ID パーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
RedirectingIDPartitionOffsetRedirectingIDPartitionSize |
リダイレクション元 ID パーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
ExtendedCallReason |
TAPI でサポートされる標準理由コードの拡張として、最後の機能関連 CTI コール理由コードをアプリケーションに提供します。これは、コールごとの機能固有情報を提供します。SIP を実行している電話機は CTI を通じてサポートされるため、SIP で実行している電話機用の新機能がリリース中に追加される場合があります。
Refer の場合の指定される理由コードは CtiCallReason_Refer です。 Replaces の場合の指定される理由コードは CtiCallReason_Replaces です。 |
||
CallerIDURLOffsetCallerIDURLSize |
発信者 ID の URL 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
CalledIDURLOffsetCalledIDURLSize |
着信者 ID の URL 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
ConnectedIDURLOffsetConnecetedIDURLSize |
接続先 ID の URL 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
RedirectionIDURLOffsetRedirectionIDURLSize |
リダイレクション先 ID の URL 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
RedirectingIDURLOffsetRedirectingIDURLSize |
リダイレクション元 ID の URL 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
CallAttributeType |
次の情報(DN.Partition.DeviceName)が、通常のコール、モニタ元のコール、モニタ先のコール、または録音元のコールのいずれに関するものであるかを示します。 |
||
PartyDNOffset PartyDNSize |
モニタリング元、モニタリング先、録音元通話者の DN 情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
PartyPartitionOffset PartyPartitionSize |
モニタリング元、モニタリング先、録音元通話者のパーティション情報を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
DeviceNameOffset DeviceNameSize |
モニタリング元、モニタリング先、録音元通話者のデバイス名を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
OverallCallSecurityStatus |
2 者間コールと電話会議のセキュリティ状態。 |
||
CCMCallID |
各コール レッグの Cisco Unified Communications Manager 発信者 ID。 |
||
CallingPartyHuntPilotDNOffset CallingPartyHuntPilotDNSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
CallingPartyHuntPilotPartitionOffset CallingPartyHuntPilotPartitionSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、およびデータ構造体の先頭からのオフセット(バイト単位)。 |
||
CalledPartyHuntPilotDNOffset CalledPartyHuntPilotDNSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
CalledPartyHuntPilotPartitionOffset CalledPartyHuntPilotPartitionSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、およびデータ構造体の先頭からのオフセット(バイト単位)。 |
||
ConnectedPartyHuntPilotDNOffset ConnectedPartyHuntPilotDNSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、および LINECALLINFO データ構造体の先頭からのオフセット(バイト単位)。 |
||
ConnectedPartyHuntPilotPartitionOffset ConnectedPartyHuntPilotPartitionSize |
ハントパイロット DN を格納する可変サイズ フィールドのサイズ(バイト単位)、およびデータ構造体の先頭からのオフセット(バイト単位)。 |
||
IsChaperoneCall |
コールがシャペロン コールかどうかを指定します。 |
SLDST_SRTP_INFO |
0x00000001 |
SLDST_QOS_INFO |
0x00000002 |
SLDST_PARTITION_INFO |
0x00000004 |
SLDST_EXTENDED_CALL_INFO |
0x00000008 |
SLDST_CALL_ATTRIBUTE_INFO |
0x00000010 //M&R |
SLDST_CCM_CALL_ID |
0x00000020 //M&R |
SLDST_SECURITY_STATUS_INFO |
0x00000040 //SecureConf |
SLDST_NUMBER_TYPE_CHANGED |
0x00000080 //CPN |
SLDST_GLOBALIZED_CALLING_PARTY_CHANGED |
0x00000100 //CPN |
SLDST_FAR_END_IP_ADDRESS_CHANGED |
0x00000200//IPv6 新規 |
SLDST_UNIQUE_CALL_REF_ID_INFO |
0x00000400 |
SLDST_DEVICE_VIDEO_CAP_INFO |
0x00000800 |
SLDST_MULTIMEDIA_STREAMS_INFO |
0x00001000 |
LINEDEVSPECIFIC{ hDevice = hcall // 情報が変更されたコール ハンドル dwParam1 = SLDSMT_LINECALLINFO_DEVSPECIFICDATA // DevSpecific 部分が変更されたことを示す dwParam2 = SLDST_SRTP_INFO | SLDST_QOS_INFO |SLDST_PARTITION_INFO | SLDST_EXTENDED_CALL_INFO | SLDST_CALL_ATTRIBUTE_INFO|SLDST_CCM_CALLID| SLDST_CALL_SECURITY_STATUS | SLDST_NUMBER_TYPE_CHANGED | SLDST_GLOBALIZED_CALLING_PARTY_CHANGED | SLDST_FAR_END_IP_ADDRESS_CHANGED | SLDST_UNIQUE_CALL_REF_ID_INFO | SLDST_DEVICE_VIDEO_CAP_INFO | SLDST_MULTIMEDIA_STREAMS_INFO dwParam3 = … SLDST_SRTP_INFO の設定ビットが dwParam2 にある場合、dwParam3 はセキュリティ インジケータです。 }
Cisco TSP は、lineMakeCall 要求で関連データを渡すのにアプリケーションで LINECALLPARAMS 構造体を使用する必要がある回線デバイス固有の拡張機能をいくつか実装しています。
拡張機能 0x00080001 機能で、DoNotDisturb-Reject 機能の優先順位が導入されました。機能の優先事項は、LINECALLPARAMS の DevSpecific 部分(dwDevSpecificSize と dwDevSpecificOffset)で、以下のように指定できます
typedef struct LineParamas { DWORD FeaturePriority; } LINE_PRAMS;
拡張機能 0x000D0000 機能以降、LineParams 構造体に代わる Cisco_CallParamsDevSpecific 構造体に優先データを導入しました。 Cisco_CallParamsDevSpecific 構造は CiscoLineDevSpecificMsg.h ヘッダー ファイルで次のように定義します:
typedef struct Cisco_CallParamsDevSpecific_tag { DWORD CallPriority; DWORD DevSpecificFlags; } Cisco_CallParamsDevSpecific;
この構造体で、DevSpecificFlags フィールドは、特定機能の識別に使用し、次のいずれかに設定できます。
#define Cisco_CALLPARAMS_DEVSPECIFICFLAGS_PRIORITYCALL 0x00000001 #define Cisco_CALLPARAMS_DEVSPECIFICFLAGS_PERSISTENTCALL 0x00000002 #define Cisco_CALLPARAMS_DEVSPECIFICFLAGS_ANNOUNCEMENTCALL 0x00000004
Cisco_CALLPARAMS_DEVSPECIFICFLAGS_PRIORITYCALL は DoNotDisturb-Reject 機能の機能優先コールを示します。機能の優先順位は、Cisco_CallParamsDevSpecific 構造体の CallPriority フィールドで指定してください。
Cisco_CALLPARAMS_DEVSPECIFICFLAGS_PERSISTENTCALL は永続的コールを作成することを示します。この例では、他に 2 つの LINECALLPARAMS フィールドを使用します。
CallingPartyID (dwCallingPartyIDSize and dwCallingPartyIDOffset) では、着信側 ID を指定します
DisplayabeAddress (dwDisplayableAddress Size と dwDisplayableAddress Offset) では、発呼側の ID 名を指定します
Cisco_CALLPARAMS_DEVSPECIFICFLAGS_ANNOUNCEMENTCALL は、アナウンスのコールを作成することを示します。その場合、LINECALLPARAMS 構造体の CallData フィールドでは、アナウンス ID を指定します。アナウンス ID(または media-contmt ID)は、CiscoLineDevSpecificMsg.h で、MAX_CISCO_TSP_MEDIA_CONTENT_ID_SIZE として最大長を定義した文字列です。
Cisco TSP は、いくつかの回線デバイス固有拡張を実装します。これらの拡張では、LINEDEVSTATUS データ構造体の DevSpecific 領域(dwDevSpecificSize および dwDevSpecificOffset)が使用されます。この領域のサイズは可変です。DevSpecific 領域のレイアウトは、CiscoLineDevSpecificMsg.h ヘッダー ファイル内の Cisco_LineDevStatus_Ext 構造体で定義されています。この構造体のデータは、拡張バージョンに基づいて編成されています。
// LINEDEVSTATUS デバイス固有拡張 // typedef struct Cisco_LineDevStatus_Ext { Cisco_LineDevStatus_Ext00060000 ext60; Cisco_LineDevStatus_Ext00070000 ext70; Cisco_LineDevStatus_Ext00080000 ext80; } CISCO_LINEDEVSTATUS_EXT; typedef struct Cisco_LineDevStatus_Ext00080000 { CISCOLINEDEVSTATUS_DONOTDISTURB doNotDisturbStatus; } CISCO_LINEDEVSTATUS_EXT00080000; typedef struct CiscoLineDevStatus_DoNotDisturb { DWORD m_LineDevStatus_DoNotDisturbOption; DWORD m_LineDevStatus_DoNotDisturbStatus; } CISCOLINEDEVSTATUS_DONOTDISTURB;
各回線デバイスの拡張領域には、この構造体の先頭から、アプリケーションがネゴシエートした拡張バージョンまでの部分が含まれます。
この後には、個々の拡張バージョンのサブ構造体の定義が続きます。
// LINEDEVSTATUS 00060000 extention // typedef struct Cisco_LineDevStatus_Ext00060000 { DWORD dwSupportedEncoding; } CISCO_LINEDEVSTATUS_EXT00060000; // LINEDEVSTATUS 00070000 extention // typedef struct Cisco_LineDevStatus_Ext00070000 { char lpszAlternateScript[MAX_ALTERNATE_SCRIPT_SIZE]; // An empty string means there is no alternate script configured // or the phone does not support alternate scripts } CISCO_LINEDEVSTATUS_EXT00070000; // LINEDEVSTATUS 00080000 extention // // Status extention 00080000 Data Structure// typedef struct Cisco_LineDevStatus_Ext00080000 { CISCOLINEDEVSTATUS_DONOTDISTURB doNotDisturbStatus; } CISCO_LINEDEVSTATUS_EXT00080000; typedef struct CiscoLineDevStatus_DoNotDisturb { DWORD m_LineDevStatus_DoNotDisturbOption; DWORD m_LineDevStatus_DoNotDisturbStatus; } CISCOLINEDEVSTATUS_DONOTDISTURB;
DevSpecific 構造体のレイアウトとデータの詳細については、CiscoLineDevSpecificMsg.h ヘッダー ファイルを参照してください。
CiscoLineDevStatus_DoNotDisturb 構造体は LINEDEVSTATUS_DEV_SPECIFIC_DATA 構造体に属し、Do Not Disturb(サイレント)機能の現在の状態を反映するために使用されます。
このパラメータは、LINECALLINFO 構造体のデバイス固有拡張で送信される Unicode 通話者名のサポート エンコーディングを示しています。
通常は次の値に設定されます。
enum { UnknownEncoding = 0,// 不明なエンコーディング NotApplicableEncoding = 1,// このデバイスに適用できないエンコーディング AsciiEncoding = 2, // ASCII エンコーディング Ucs2UnicodeEncoding = 3 // UCS-2 Unicode エンコーディング }
(注) | dwSupportedEncoding 拡張は、拡張バージョン 0x00060000 以上がネゴシエートされた場合にだけ利用可能です。 |
このパラメータは、デバイスでサポートされる代替スクリプトを指定します。空の文字列が指定されている場合は、代替スクリプトをデバイスがサポートしていないか、設定されていないことを示しています。
このリリースでサポートされているスクリプトは、日本語ロケール用の「Kanji」だけです。
このフィールドには、デバイスに対して設定された DND(サイレント)オプションが格納され、次のいずれかの enum 値を構成します。
enum CiscoDoNotDisturbOption { DoNotDisturbOption_NONE = 0, DoNotDisturbOption_RINGEROFF = 1, DoNotDisturbOption_REJECT = 2 }; m_LineDevStatus_DoNotDisturbStatus フィールドにはデバイスの現在の DND ステータスが格納され、その値は次のいずれかの enum 値になります: enum CiscoDoNotDisturbStatus { DoNotDisturbStatus_UNKNOWN = 0, DoNotDisturbStatus_ENABLED = 1, DoNotDisturbStatus_DISABLED = 2 };
(注) | この拡張は、拡張バージョン 8.0(0x00080000)以上がネゴシエートされた場合にだけ利用可能です。 |
このセクションでは、次に述べる全クラスの親クラスである CCiscoLineDevSpecific クラスを使用して、Cisco Unified TAPI 固有の関数を実行する方法について説明します。これは、仮想クラスで構成され、ここでは情報として記載されています。
CCiscoLineDevSpecific|
+--CCiscoLineDevSpecificMsgWaiting
|
+--CCiscoLineDevSpecificMsgWaitingDirn
|
+--CCiscoLineDevSpecificUserControlRTPStream
|
+--CCiscoLineDevSpecificSetStatusMsgs
|
+--CCiscoLineDevSpecificSwapHoldSetupTransfer
|
+--CCiscoLineDevSpecificRedirectResetOrigCalled
|
+--CCiscoLineDevSpecificRedirectSetOrigCalled
|
+--CCiscoLineDevSpecificPortRegistrationPerCall
|
+--CCiscoLineDevSpecificSetRTPParamsForCall
|
+--CCiscoLineDevSpecificJoin
|
+--CCiscoLineDevSpecificRedirectFACCMC
|
+--CCiscoLineDevSpecificBlindTransferFACCMC
|
+--CCiscoLineDevSpecificCTIPortThirdPartyMonitor
|
+--CCiscoLineDevSpecificUserSetSRTPAlgorithmID
|
+--CCiscoLineDevSpecificSendLineOpen
|
+--CCiscoLineDevSpecificAcquire
|
+--CCiscoLineDevSpecificDeacquire
|
+--CCiscoLineDevSpecificStartCallMonitoring
|
+--CCiscoLineDevSpecificStartCallRecording
|
+--CCiscoLineDevSpecificStopCallRecording
|
+--CCiscoLineSetIntercomSpeeddial
|
+--CCiscoLineIntercomTalkback
|
+--CciscoSetupTransferWithoutMedia
|
+--CCiscoLineDevSpecificSetMsgSummary
|
+--CCiscoLineDevSpecificSetMsgSummaryDirn
|
+--CCiscoLineDevSpecificSetRTPParamsForCallIPv6
|
+--CCiscoLineDevSpecificSetIPv6AddressAndMode
|
+--CCiscoLineDevSpecificDirectTransfer
|
+--CCiscoLineDevSpecificRegisterCallPickupGroupForNotification
|
+--CCiscoLineDevSpecificUnRegisterCallPickupGroupForNotification
|
+--CCiscoLineDevSpecificCallPickupRequest
|
+--CCiscoLineDevSpecificPlaytone
|
+--CCiscoLineDevSpecificStartSendMediaToBIBRequest
|
+--CCiscoLineDevSpecificStopSendMediaToBIBRequest
|
+--CCiscoLineDevSpecificMonitoringUpdateMode
|
+--CCiscoLineDevSpecificEnableFeatureSupport
|
+--CCiscoLineRedirectWithFeaturePriority
|
+--CciscoLineDevSpecificAddRemoteDestination
|
+--CciscoLineDevSpecificUpdateRemoteDestination
|
+--CciscoLineDevSpecificRemoveRemoteDestination
|
+--CciscoLineDevSpecificHoldEx
|
+--CciscoLineDevSpecificRedirectEx
CiscoLineDevSpecific.h ファイルには、シスコ回線デバイス固有クラスの定数、構造体、およびクラス定義が含まれています。
class CCiscoLineDevSpecific { public: CCicsoLineDevSpecific(DWORD msgType); virtual ~CCiscoLineDevSpecific(); DWORD GetMsgType(void) const {return m_MsgType;} void* lpParams() {return &m_MsgType;} virtual DWORD dwSize() = 0; private: DWORD m_MsgType; };
この関数は、パラメータ ブロックへのポインタの取得に使用できます。
この関数は、パラメータ ブロック領域のサイズを返します。
メッセージのタイプを指定します。
CCiscoLineDevSpecific の各サブクラスは、パラメータ m_MsgType に割り当てられた種々の値を持っています。C++ の代わりに C を使用する場合は、これが構造体の最初のパラメータを表します。
有効なメッセージ ID は、CiscoLineDevSpecificType 列挙型で提供されます。
enum CiscoLineDevSpecificType
{
SLDST_MSG_WAITING = 1,
SLDST_MSG_WAITING_DIRN,
SLDST_USER_CRTL_OF_RTP_STREAM,
SLDST_SET_STATUS_MESSAGES,
SLDST_NUM_TYPE,
SLDST_SWAP_HOLD_SETUP_TRANSFER, // Not Supported in CiscoTSP 3.4 and Beyond
SLDST_REDIRECT_RESET_ORIG_CALLED,
SLDST_REDIRECT_SET_ORIG_CALLED,
SLDST_USER_RECEIVE_RTP_INFO,
SLDST_USER_SET_RTP_INFO,
SLDST_JOIN,
SLDST_REDIRECT_FAC_CMC,
SLDST_BLIND_TRANSFER_FAC_CMC,
SLDST_CTI_PORT_THIRD_PARTY_MONITOR,
SLDST_ACQUIRE,
SLDST_DE_ACQUIRE,
SLDST_USER_SET_SRTP_ALGORITHM_ID,
SLDST_SEND_LINE_OPEN,
SLDST_START_CALL_MONITORING,
SLDST_START_CALL_RECORDING,
SLDST_STOP_CALL_RECORDING,
SLDST_LINE_SET_INTERCOM_SPEEDDIAL,
SLDST_LINE_INTERCOM_TALKBACK,
SLDST_REDIRECT_WITH_FEATURE_PRIORITY,
SLDST_USER_SET_RTP_INFO_IPv6,
SLDST_USER_SET_IPv6_ADDRESS_AND_MODE,
SLDST_SETUP_TRANSFER_WITHOUT_MEDIA,
SLDST_DIRECT_TRANSFER,
SLDST_MSG_SUMMARY,
SLDST_MSG_SUMMARY_DIRN,
SLDST_CALLPICKUP_GROUP_REGISTER,
SLDST_CALLPICKUP_GROUP_UNREGISTER,
SLDST_CALLPICKUP_CALL,
SLDST_PLAY_TONE,
SLDST_START_SEND_MEDIA_TO_BIB,
SLDST_STOP_SEND_MEDIA_TO_BIB,
SLDST_UPDATE_MONITOR_MODE,
SLDST_ENABLE_FEATURE_SUPPORT,
SLDST_ADD_REMOTE_DESTINATION,
SLDST_REMOVE_REMOTE_DESTINATION,
SLDST_UPDATE_REMOTE_DESTINATION,
SLDST_HOLD_EX
SLDST_REDIRECT_EX
};
CCiscoLineDevSpecificMsgWaiting クラスは、hLine パラメータで指定した回線のメッセージ受信ランプをオンまたはオフにします。
(注) | この拡張では、拡張バージョンをネゴシエートする必要はありません。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificMsgWaiting
class CCiscoLineDevSpecificMsgWaiting : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificMsgWaiting() : CCiscoLineDevSpecific(SLDST_MSG_WAITING){} virtual ~CCiscoLineDevSpecificMsgWaiting() {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} DWORD m_BlinkRate; };
SLDST_MSG_WAITING と同じ。
phoneSetLamp() 関数で指定される、いずれかのサポートされている PHONELAMPMODE_ 定数。
(注) | Cisco Unified IP Phone 7900 シリーズは、PHONELAMPMODE_OFF および PHONELAMPMODE_STEADY だけをサポートしています。 |
CCiscoLineDevSpecificMsgWaitingDirn クラスは、パラメータで指定した回線のメッセージ受信ランプをオンまたはオフにし、それを hLine パラメータの指定とは無関係に維持します。
(注) | この拡張では、拡張バージョンをネゴシエートする必要はありません。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificMsgWaitingDirn
class CCiscoLineDevSpecificMsgWaitingDirn : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificMsgWaitingDirn() : CCiscoLineDevSpecific(SLDST_MSG_WAITING_DIRN) {} virtual ~CCiscoLineDevSpecificMsgWaitingDirn() {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} DWORD m_BlinkRate; char m_Dirn[25]; };
CCiscoLineDevSpecificSetMsgSummary クラスは、hLine パラメータで指定した回線について、メッセージ受信ランプをオンまたはオフにしたり、ボイス メッセージや FAX メッセージの数を通知したりするときに使用します。
(注) | この拡張では、拡張バージョンをネゴシエートする必要はありません。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificSetMsgSummary
class CCiscoLineDevSpecificSetMsgSummary : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificSetMsgSummary() : CCiscoLineDevSpecific(SLDST_MSG_SUMMARY){} virtual ~CCiscoLineDevSpecificSetMsgSummary() {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} DWORD m_BlinkRate; MSG_SUMMARY m_MessageSummary; };
SLDST_MSG_SUMMARY と同じ。
phoneSetLamp() 関数で指定された、いずれかのサポートされている PHONELAMPMODE_ 定数。
次の形式を持つデータ構造体。
typedef struct { DWORD m_voiceCounts; // 新しい音声数が指定されているか // どうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_totalNewVoiceMsgs; // 新しいボイス メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 新しいボイス メッセージが // すべて含まれます。 DWORD m_totalOldVoiceMsgs; // 古いボイス メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 古いボイス メッセージが // すべて含まれます。 DWORD m_highPriorityVoiceCounts; // 古い音声数が // 指定されているかどうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_newHighPriorityVoiceMsgs; // 優先度の高い新しい // ボイス メッセージの数を指定します。 DWORD m_oldHighPriorityVoiceMsgs; // 優先度の高い古い // ボイス メッセージの数を指定します。 DWORD m_faxCounts; // 新しい FAX 件数が指定されているか // どうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_totalNewFaxMsgs; // 新しい FAX メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 新しい FAX メッセージが // すべて含まれます。 DWORD m_totalOldFaxMsgs; // 古い FAX メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 古い FAX メッセージが // すべて含まれます。 DWORD m_highPriorityFaxCounts; // 古い FAX 件数が // 指定されているかどうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_newHighPriorityFaxMsgs; // 優先度の高い新しい // FAX メッセージの数を指定します。 DWORD m_oldHighPriorityFaxMsgs; // 優先度の高い古い // FAX メッセージの数を指定します。 } MSG_SUMMARY;
CCiscoLineDevSpecificSetMsgSummaryDirn クラスは、hLine パラメータとは無関係に、パラメータで指定した回線について、メッセージ受信ランプをオンまたはオフにしたり、ボイス メッセージや Fax メッセージの数を通知したりするときに使用します。
(注) | この拡張では、拡張バージョンをネゴシエートする必要はありません。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificSetMsgSummaryDirn
class CCiscoLineDevSpecificSetMsgSummaryDirn : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificSetMsgSummaryDirn() : CCiscoLineDevSpecific(SLDST_MSG_SUMMARY_DIRN) {} virtual ~CCiscoLineDevSpecificSetMsgSummaryDirn() {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} DWORD m_BlinkRate; char m_Dirn[25]; MSG_SUMMARY m_MessageSummary; };
SLDST_MSG_SUMMARY_DIRN と同じ。
CCiscoLineDevSpecificSetMsgSummary メッセージの場合と同様。
char m_Dirn[25]
メッセージ受信ランプが設定される電話番号。
次の形式を持つデータ構造体。
typedef struct { DWORD m_voiceCounts; // 新しい音声数が指定されているか // どうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_totalNewVoiceMsgs; // 新しいボイス メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 新しいボイス メッセージが // すべて含まれます。 DWORD m_totalOldVoiceMsgs; // 古いボイス メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 古いボイス メッセージが // すべて含まれます。 DWORD m_highPriorityVoiceCounts; // 古い音声数が // 指定されているかどうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_newHighPriorityVoiceMsgs; // 優先度の高い新しい // ボイス メッセージの数を指定します。 DWORD m_oldHighPriorityVoiceMsgs; // 優先度の高い古い // ボイス メッセージの数を指定します。 DWORD m_faxCounts; // 新しい FAX 件数が指定されているか // どうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_totalNewFaxMsgs; // 新しい FAX メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 新しい FAX メッセージが // すべて含まれます。 DWORD m_totalOldFaxMsgs; // 古い FAX メッセージの // 合計数を指定します。この数には、高優先度と通常優先度の // 古い FAX メッセージが // すべて含まれます。 DWORD m_highPriorityFaxCounts; // 古い FAX 件数が // 指定されているかどうかを示します。True の場合、サポートされている電話にその数が // 表示されます。 DWORD m_newHighPriorityFaxMsgs; // 優先度の高い新しい // FAX メッセージの数を指定します。 DWORD m_oldHighPriorityFaxMsgs; // 優先度の高い古い // FAX メッセージの数を指定します。 } MSG_SUMMARY;
CCiscoLineDevSpecificUserControlRTPStream クラスは、回線のオーディオ ストリームを制御します。このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion および dwExtHighVersion パラメータの両方の最上位ビットをセットする必要があります。これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。CCiscoLineDevSpecificUserControlRTPStream クラスから、必要とされる付加情報を取得します。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificUserControlRTPStream
class CCiscoLineDevSpecificUserControlRTPStream : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificUserControlRTPStream() : CCiscoLineDevSpecific(SLDST_USER_CRTL_OF_RTP_STREAM), m_ReceiveIP(-1), m_ReceivePort(-1), m_NumAffectedDevices(0) { memset(m_AffectedDeviceID, 0, sizeof(m_AffectedDeviceID)); } virtual ~CCiscoLineDevSpecificUserControlRTPStream() {} DWORD m_ReceiveIP; // UDP audio reception IP DWORD m_ReceivePort; // UDP audio reception port DWORD m_NumAffectedDevices; DWORD m_AffectedDeviceID[10]; DWORD m_MediaCapCount; MEDIA_CAPS m_MediaCaps; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} };
SLDST_USER_CRTL_OF_RTP_STREAM と同じ。
ネットワーク バイト順での RTP オーディオの受信 IP アドレス。
ネットワーク バイト順での RTP オーディオの受信ポート。
この値は、TSP から返されます。有効な deviceID の数が m_AffectedDeviceID 配列に格納されます。複数の電話番号を割り当てられたデバイスは、電話番号ごとに 1 つずつ、複数の TAPI 回線を持ちます。
この値は、TSP から返されます。この呼び出しで影響を受けるすべてのデバイスの deviceID のリストが収められます。このリスト以外のデバイスに対して lineDevSpecific を呼び出さないでください。
この回線にサポートされるコーデックの数。
次の形式を持つデータ構造体。
typedef struct { DWORD MediaPayload; DWORD MaxFramesPerPacket; DWORD G723BitRate; } MEDIA_CAPS[MAX_MEDIA_CAPS_PER_DEVICE];
このデータ構造体は、回線でサポートされる各コーデックを定義します。上限は 18 です。次は、MEDIA_CAPS データ構造体の各メンバについての説明です。
MediaPayload では、次のいずれかの値を持つ、列挙型整数を指定します。
enum { Media_Payload_G711Alaw64k = 2, Media_Payload_G711Alaw56k = 3, // 「制限あり」 Media_Payload_G711Ulaw64k = 4, Media_Payload_G711Ulaw56k = 5, // 「制限あり」 Media_Payload_G722_64k = 6, Media_Payload_G722_56k = 7, Media_Payload_G722_48k = 8, Media_Payload_G7231 = 9, Media_Payload_G728 = 10, Media_Payload_G729 = 11, Media_Payload_G729AnnexA = 12, Media_Payload_G729AnnexB = 15, Media_Payload_G729AnnexAwAnnexB = 16, Media_Payload_GSM_Full_Rate = 18, Media_Payload_GSM_Half_Rate = 19, Media_Payload_GSM_Enhanced_Full_Rate = 20, Media_Payload_Wide_Band_256k = 25, Media_Payload_Data64 = 32, Media_Payload_Data56 = 33, Media_Payload_GSM = 80, Media_Payload_G726_32K = 82, Media_Payload_G726_24K = 83, Media_Payload_G726_16K = 84, // Media_Payload_G729_B = 85, // Media_Payload_G729_B_LOW_COMPLEXITY = 86, } Media_PayloadType;
MaxFramesPerPacket は、MaxPacketSize と同じものとして扱います。希望する RTP パケット サイズの最大値をミリ秒単位で示す 16 ビットの整数が指定されます。 通常、この値は 20 に設定されます。
G723BitRate は、6 バイト フィールドで、G.723.1 情報ビット レートが格納されているか、または無視されます。次に示す値は、G.723.1 フィールドの値です。
enum { Media_G723BRate_5_3 = 1, //5.3Kbps Media_G723BRate_6_4 = 2 //6.4Kbps } Media_G723BitRate;
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificSetStatusMsgs
CCiscoLineDevSpecificSetStatusMsgs クラスは、hLine パラメータで指定した回線のステータス メッセージをオンまたはオフにするために使用します。Cisco Unified TSP は次のフラグをサポートしています。
DEVSPECIFIC_MEDIA_STREAM:回線に対してこのフラグを設定すると、その回線のメディア ストリーム メッセージに関するレポートがオンになります。このフラグをクリアすると、その回線のメディア ストリーム メッセージに関するレポートがオフになります。
DEVSPECIFIC_CALL_TONE_CHANGED:回線に対してこのフラグを設定すると、その回線のコール トーン変更イベントに関するレポートがオンになります。このフラグをクリアすると、その回線のコール トーン変更イベントに関するレポートがオフになります。
DEVSPECIFIC_SILENT_MONITORING_TERMINATED:回線に対してこのフラグを設定すると、その回線の Monitoring Session Terminated イベント メッセージに関するレポートがオンになります。このフラグをクリアすると、その回線の Monitoring Session Terminated イベント メッセージに関するレポートがオフになります。
DEVSPECIFIC_GET_IP_PORT:回線に対してこのフラグを設定すると、Get IP および Port Notification イベント メッセージに関するレポートがオンになります。このフラグをクリアすると、その回線の Get IP および Port Notification イベント メッセージに関するレポートがオフになります。
DEVSPECIFIC_HOLD_REVERSION:回線に対してこのフラグを設定すると、保留中のコールで保留が復帰すると、LINE_DEVSPECIFIC(dwParam1 = SLDSMT_HOLD_REVERSION) が通知されます。回線に対してこのフラグをクリアすると、LINE_DEVSPECIFIC(dwParam1 = SLDSMT_HOLD_REVERSION) イベントに関するレポートがオフになります。
DEVSPECIFIC_IDLE_TRANSFER_REASON:回線に対してこのフラグを設定すると、転送コントローラで転送が完了した後でコールが LINECALLSTATE_IDLE 状態になったときに LINECALLREASON_TRANSFER として理由が報告されます。回線に対してこのフラグをクリアすると、転送コントローラで転送が完了した後でコールが LINECALLSTATE_IDLE 状態になったときに LINECALLREASON_DIRECT として理由が報告されます。
DEVSPECIFIC_SPEEDDIAL_CHANGED:回線に対してこのフラグを設定すると、データベースが変更されたとき、または短縮ダイヤル設定が上書きされたときに、LINE_DEVSPECIFIC(dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED, dwParam2 = LPCT_INTERCOM_LINE, and dwParam3 = CiscoIntercomLineChangeResult) が発行されます。このフラグをクリアすると、LINE_DEVSPECIFIC(dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED, dwParam2 = LPCT_INTERCOM_LINE, and dwParam3 = CiscoIntercomLineChangeResult) イベントに関するレポートがオフになります。
DEVSPECIFIC_DONOTDISTURB_CHANGED:回線に対してこのフラグを設定すると、DND の設定または状態が変更されたときに LINE_DEVSPECIFICFEATURE(dwParam1 = PHONEBUTTONFUNCTION_DONOTDISTURB, dwParam2 = typeOfChange, and dwParam3 = currentValue) が発行されます。このフラグをクリアすると、LINE_DEVSPECIFICFEATURE(dwParam1 = PHONEBUTTONFUNCTION_DONOTDISTURB, dwParam2 = typeOfChange, and dwParam3 = currentValue) イベントに関するレポートがオフになります。
DEVSPECIFIC_DISPLAYABLE_ADDRESS:回線に対してこのフラグを設定すると、LINECALLINFO の DisplayableAddress フィールドに、最後にコールされた partyDN/ASCCI name/Unicode name/Partition(「:」で区切られる)が入ります。このフラグをクリアすると、LINECALLINFO の DisplayableAddress フィールドが空になります。
DEVSPECIFIC_DEVICE_STATE:このフラグを設定すると、デバイスのすべての回線が累積状態になり、LINE_DEVSPECIFIC(dwParam1 = SLDSMT_DEVICE_STATE, dwParam2 = State) イベントを使用して発行されます。このフラグをクリアすると、デバイスのすべての回線の累積状態に関するレポートがオフになります。
DEVSPECIFIC_DEVICE_STATE 状態は、次のように定義されます。
enum lineDeviceState{ lineDeviceState_UNKNOWN = 0, lineDeviceState_ACTIVE = 1, lineDeviceState_ALERTING = 2, lineDeviceState_HELD = 3, lineDeviceState_WHISPER = 4, lineDeviceState_IDLE = 5 };
DEVSPECIFIC_PARK_MONITORING:回線に対してこのフラグを設定すると、Park Monitoring イベントが発行されます。このフラグをクリアすると、Park Monitoring イベントに関するレポートがオフになります。詳細については、パーク モニタリングを参照してください。
DEVSPECIFIC_OTHER_DEVICE_STATE_NOTIFY:回線に対してこのフラグを設定すると、非オープン デバイス状態の変更が通知されます。このフラグをクリアすると、他の非オープン デバイス状態の変更に関するレポートがオフになります。詳細については、Other-Device 状態通知を参照してください。
(注) | この拡張は、拡張バージョン 0x00020001 以上がネゴシエートされた場合にだけ適用されます。 |
class CCiscoLineDevSpecificSetStatusMsgs : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificSetStatusMsgs() : CCiscoLineDevSpecific(SLDST_SET_STATUS_MESSAGES) {} virtual ~CCiscoLineDevSpecificSetStatusMsgs() {} DWORD m_DevSpecificStatusMsgsFlag; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} };
SLDST_SET_STATUS_MESSAGES と同じ。
どのようなステータス変更があれば LINE_DEVSPECIFIC メッセージがアプリケーションに送信されるかを指定します。
サポートされている値は次のとおりです。
#define DEVSPECIFIC_MEDIA_STREAM0x00000001#define DEVSPECIFIC_CALL_TONE_CHANGED0x00000002 #define CALL_DEVSPECIFIC_RTP_EVENTS0x00000003 #define DEVSPECIFIC_IDLE_TRANSFER_REASON 0x00000004 #define DEVSPECIFIC_HOLD_REVERSION 0x00000008 #define DEVSPECIFIC_SPEEDDIAL_CHANGED0x00000010 #define DEVSPECIFIC_DONOTDISTURB_CHANGED0x00000020 #define DEVSPECIFIC_DISPLAYABLE_ADDRESS0x00000040 #define DEVSPECIFIC_PARK_MONITORING0x00000080 #define DEVSPECIFIC_DEVICE_STATE0x00000100 #define DEVSPECIFIC_SILENT_MONITORING_TERMINATED0x00000200 #define DEVSPECIFIC_OTHER_DEVICE_STATE_NOTIFY0x00000400 #define DEVSPECIFIC_GET_IP_PORT0x00000800
(注) | これは Cisco Unified TSP 4.0 以降ではサポートされていません。 |
CCiscoLineDevSpecificSwapHoldSetupTransfer クラスは、CONNECTED 状態のコールと ONHOLD 状態のコールの間で SetupTransfer を実行するために使用されていました。この関数は、接続済みコールの状態を ONHOLDPENDTRANSFER 状態に、ONHOLD コールを CONNECTED 状態に変更します。これにより、これら 2 つのコールの間で CompleteTransfer を実行することが可能になっていました。Cisco Unified TSP 4.0 以降では、lineCompleteTransfer() を使用してコールを転送できるため、CCiscoLineDevSpecificSwapHoldSetupTransfer 関数を使用する必要はありません。したがって、Cisco Unified TSP 4.0 以降でこの関数を使用すると LINEERR_OPERATIONUNAVAIL が返されます。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificSwapHoldSetupTransfer
(注) | この拡張は、拡張バージョン 0x00020002 以上がネゴシエートされた場合にだけ適用されます。 |
class CCiscoLineDevSpecificSwapHoldSetupTransfer : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificSwapHoldSetupTransfer() : CCiscoLineDevSpecific(SLDST_SWAP_HOLD_SETUP_TRANSFER) {} virtual ~CCiscoLineDevSpecificSwapHoldSetupTransfer() {} DWORD heldCallID; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_SWAP_HOLD_SETUP_TRANSFER と同じ。
LPLINECALLINFO の dwCallID で返される、保留コールの callid と同じ。
接続済みコールのハンドルと同じ。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificRedirectResetOrigCalled
CCiscoLineDevSpecificRedirectResetOrigCalled クラスは、コールの元の着信者 ID をリダイレクト先にリセットして、別の通話者にコールをリダイレクトします。
(注) | この拡張は、拡張バージョン 0x00020003 以上がネゴシエートされた場合にだけ適用されます。 |
class CCiscoLineDevSpecificRedirectResetOrigCalled: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificRedirectResetOrigCalled: CCiscoLineDevSpecific(SLDST_REDIRECT_RESET_ORIG_CALLED) {} virtual ~CCiscoLineDevSpecificRedirectResetOrigCalled{} char m_DestDirn[25]; //redirect destination address virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_REDIRECT_RESET_ORIG_CALLED と同じ。
コールのリダイレクト先のアドレスと同じ。
接続済みコールのハンドルと同じ。
CCiscoLineDevSpecificPortRegistrationPerCall クラスは、コールごとに RTP パラメータの CTI ポートを登録します。この要求が発行されると、アプリケーションは、コールの RTP パラメータの設定を要求する新規の lineDevSpecific イベントを受信します。
このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion および dwExtHighVersion パラメータの両方の最上位ビットをセットする必要があります。
これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。その他の必要な情報は CCiscoLineDevSpecificPortRegistrationPerCall クラスで提供されます。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificPortRegistrationPerCall
オープンする回線の deviceID に対して lineNegotiateExtVersion を呼び出します(dwExtLowVersion パラメータおよび dwExtHighVersion パラメータを 0x80000000 に設定します)。
オープンする回線の deviceID に対して lineOpen を呼び出します。
lpParams パラメータの CCiscoLineDevSpecificPortRegistrationPerCall メッセージを使用して lineDevSpecific を呼び出します。
(注) | この拡張は、拡張バージョン 0x00040000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CCiscoLineDevSpecificPortRegistrationPerCall: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificPortRegistrationPerCall () : CCiscoLineDevSpecific(SLDST_USER_RECEIVE_RTP_INFO), m_RecieveIP(-1), m_RecievePort(-1), m_NumAffectedDevices(0) { memset((char*)m_AffectedDeviceID, 0, sizeof(m_AffectedDeviceID)); } virtual ~ CCiscoLineDevSpecificPortRegistrationPerCall () {} DWORD m_NumAffectedDevices; DWORD m_AffectedDeviceID[10]; DWORD m_MediaCapCount; MEDIA_CAPSm_MediaCaps; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_USER_RECEIVE_RTP_INFO と同じ。
この値は、TSP から返されます。有効な deviceID の数が m_AffectedDeviceID 配列に格納されます。複数の電話番号を割り当てられたデバイスは、電話番号ごとに 1 つずつ、複数の TAPI 回線を持ちます。
この値は、TSP から返されます。この呼び出しで影響を受けるすべてのデバイスの deviceID のリストが収められます。このリスト以外のデバイスに対して lineDevSpecific を呼び出さないでください。
この回線にサポートされるコーデックの数。
次の形式を持つデータ構造体。
typedef struct { DWORD MediaPayload; DWORD MaxFramesPerPacket; DWORD G723BitRate; } MEDIA_CAPS[MAX_MEDIA_CAPS_PER_DEVICE];
このデータ構造体は、回線でサポートされる各コーデックを定義します。上限は 18 です。次は、MEDIA_CAPS データ構造体の各メンバについての説明です。
MediaPayload は、次のいずれかの値を含む列挙整数です。
enum{ Media_Payload_G711Alaw64k = 2, Media_Payload_G711Alaw56k = 3, // 「制限あり」 Media_Payload_G711Ulaw64k = 4, Media_Payload_G711Ulaw56k = 5, // 「制限あり」 Media_Payload_G722_64k = 6, Media_Payload_G722_56k = 7, Media_Payload_G722_48k = 8, Media_Payload_G7231 = 9, Media_Payload_G728 = 10, Media_Payload_G729 = 11, Media_Payload_G729AnnexA = 12, Media_Payload_G729AnnexB = 15, Media_Payload_G729AnnexAwAnnexB = 16, Media_Payload_GSM_Full_Rate = 18, Media_Payload_GSM_Half_Rate = 19, Media_Payload_GSM_Enhanced_Full_Rate = 20, Media_Payload_Wide_Band_256k = 25, Media_Payload_Data64 = 32, Media_Payload_Data56 = 33, Media_Payload_GSM = 80, Media_Payload_G726_32K = 82, Media_Payload_G726_24K = 83, Media_Payload_G726_16K = 84, // Media_Payload_G729_B = 85, // Media_Payload_G729_B_LOW_COMPLEXITY = 86, } Media_PayloadType;
MaxFramesPerPacket は MaxPacketSize と同じものとして扱われる、ミリ秒で指定された 16 ビット整数を構成します。この値は、RTP のパケット サイズを示します。通常、この値は 20 に設定されます。
G723BitRate は、6 バイト フィールドを構成し、G.723.1 情報ビット レートが格納されているか、または無視されます。G.723.1 フィールドでは、次のように値が列挙されます。
enum { Media_G723BRate_5_3 = 1, //5.3Kbps Media_G723BRate_6_4 = 2 //6.4Kbps } Media_G723BitRate;
CCiscoLineDevSpecificSetRTPParamsForCall クラスは、特定のコールの RTP パラメータを設定します。
(注) | この拡張は、拡張バージョン 0x00040000 以上がネゴシエートされた場合にだけ適用されます。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificSetRTPParamsForCall
class CciscoLineDevSpecificSetRTPParamsForCall: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificSetRTPParamsForCall () : CCiscoLineDevSpecific(SLDST_USER_SET_RTP_INFO) {} virtual ~ CciscoLineDevSpecificSetRTPParamsForCall () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer DWORD m_RecieveIP; // UDP audio reception IP DWORD m_RecievePort; // UDP audio reception port };
SLDST_USER_SET_RTP_INFO と同じ。
そのコールに対して設定する RTP オーディオ受信 IP アドレス(ネットワーク バイト オーダー)を指定します。
そのコールに対して設定する RTP オーディオ受信ポート(ネットワーク バイト オーダー)を指定します。
CCiscoLineDevSpecificRedirectSetOrigCalled クラスは、元の着信者 ID を他の通話者に設定して、コールを他の通話者にリダイレクトします。
(注) | この拡張は、拡張バージョン 0x00040000 以上がネゴシエートされた場合にだけ適用されます。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificRedirectSetOrigCalled
class CCiscoLineDevSpecificRedirectSetOrigCalled: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificRedirectSetOrigCalled () : CCiscoLineDevSpecific(SLDST_REDIRECT_SET_ORIG_CALLED) {} virtual ~ CCiscoLineDevSpecificRedirectSetOrigCalled () {} char m_DestDirn[25]; char m_SetOriginalCalledTo[25]; // subtract virtual function table pointer virtual DWORD dwSize(void) const {return (sizeof (*this) -4) ; }
SLDST_REDIRECT_SET_ORIG_CALLED と同じ。
リダイレクト先を指定します。この要求をボイスメールへの転送に使用する場合は、ボイスメールを転送する回線の DN のボイスメール パイロット番号にこのフィールドを設定します。
OriginalCalledParty で設定する必要がある DN を指定します。この要求をボイスメールへの転送に使用する場合は、ボイスメールを転送する回線の DN にこのフィールドを設定します。
接続済みコールのハンドルと同じ。
CCiscoLineDevSpecificJoin クラスは、2 つ以上のコールを 1 つの電話会議に参加させます。参加させることができるコールは、ONHOLD または CONNECTED 状態のコールです。
Cisco Unified Communications Manager は、Join 要求で指定されたコールの一部しか参加させることができない場合があります。その場合でも、Join 要求は成功しますが、Cisco Unified Communications Manager はできるだけ多くのコールを参加させようと試みます。
(注) | この拡張は、拡張バージョン 0x00040000 以上がネゴシエートされた場合にだけ適用されます。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificJoin
class CCiscoLineDevSpecificJoin : public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificJoin () : CCiscoLineDevSpecific(SLDST_JOIN) {} virtual ~ CCiscoLineDevSpecificJoin () {} DWORD m_CallIDsToJoinCount; CALLIDS_TO_JOIN m_CallIDsToJoin; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_JOIN と同じ。
m_CallIDsToJoin パラメータに格納されている callID の数。
参加させる dwCallID の配列を格納するデータ構造体。形式は次のようになります。
typedef struct { DWORD CallID; // 参加する dwCallID } CALLIDS_TO_JOIN[MAX_CALLIDS_TO_JOIN];
MAX_CALLIDS_TO_JOIN の部分は、次のように定義されます。
const DWORD MAX_CALLIDS_TO_JOIN = 14;
callIDsToJoin によって会議コールに追加されるコールのハンドルと同じ。
CCiscoLineDevSpecificUserSetSRTPAlgorithmID クラスは、SRTP アルゴリズム ID を設定するときに使用します。このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion および dwExtHighVersion パラメータの両方の最上位ビットまたはその次の上位ビットをセットする必要があります。これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。その他の必要な情報は CCiscoLineDevSpecificUserSetSRTPAlgorithmID クラスで提供されます。
(注) | この拡張は、拡張バージョン 0x80070000、0x4007000 またはそれ以上がネゴシエートされている場合にだけ利用できます。 |
CCiscoLineDevSpecific | +--CciscoLineDevSpecificUserSetSRTPAlgorithmID
オープンする回線の deviceID に対して lineNegotiateExtVersion を呼び出します(dwExtLowVersion パラメータと dwExtHighVersion パラメータを 0x80070000 または 0x4007000 に設定します)。
オープンする回線の deviceID に対して lineOpen を呼び出します。
SRTP アルゴリズム ID を指定するには、lpParams パラメータの CCiscoLineDevSpecificUserSetSRTPAlgorithmID メッセージを使用して lineDevSpecific を呼び出します。
lpParams パラメータの CCiscoLineDevSpecificPortRegistrationPerCall メッセージか CCiscoLineDevSpecificUserControlRTPStream メッセージを使用して lineDevSpecific を呼び出します。
class CciscoLineDevSpecificUserSetSRTPAlgorithmID: public CCiscoLineDevSpecific{ public: CciscoLineDevSpecificUserSetSRTPAlgorithmID () : CCiscoLineDevSpecific(SLDST_USER_SET_SRTP_ALGORITHM_ID), m_SRTPAlgorithmCount(0), m_SRTP_Fixed_Element_Size(4) { } virtual ~ CciscoLineDevSpecificUserSetSRTPAlgorithmID () {} DWORD m_SRTPAlgorithmCount; //Maximum is MAX_CISCO_SRTP_ALGORITHM_IDS DWORD m_SRTP_Fixed_Element_Size;//Should be size of DWORD, it should be always 4. DWORD m_SRTPAlgorithm_Offset; //offset from beginning of the message buffer virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
enum CiscoSRTPAlgorithmIDs{ SRTP_NO_ENCRYPTION = 0, SRTP_AES_128_COUNTER = 1 };
SLDST_USER_SET_SRTP_ALGORITHM_ID と同じ。
このメッセージに指定されているアルゴリズム ID の数。
DWORD のサイズなので、常に 4 になります。
メッセージ バッファの先頭からのオフセット。これが、アルゴリズム ID 配列を配置し始めるオフセットになります。
(注) | dwSize は、m_SRTPAlgorithmCount 構造体と m_SRTP_Fixed_Element_Size 構造体のサイズに基づいて再計算する必要があります。 |
CCiscoLineDevSpecificAcquire クラスは、CTI 対応デバイスを明示的に取得するために使用します。
Cisco Unified Communications Manager システム上にある CTI 対応デバイスをスーパープロバイダー アプリケーションで開く必要がある場合は、上記のインターフェイスを使用して、明示的にそのデバイスを取得する必要があります。正しい応答があれば、通常通りデバイスをオープンできます。
(注) | この拡張は、拡張バージョン 0x00070000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificAcquire
class CCiscoLineDevSpecificAcquire : public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificAcquire () : CCiscoLineDevSpecific(SLDST_ACQUIRE) {} virtual ~ CCiscoLineDevSpecificAcquire () {} char m_DeviceName[16]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_ACQUIRE と同じ。
明示的に取得する必要がある DeviceName。
CCiscoLineDevSpecificDeacquire クラスは、明示的に取得したデバイスを明示的に取得解除するために使用します。
Cisco Unified Communications Manager システム上にある CTI 対応デバイスをスーパープロバイダー アプリケーションで明示的に取得した場合は、上記のインターフェイスを使用して、明示的にそのデバイスを取得解除する必要があります。
(注) | この拡張は、拡張バージョン 0x00070000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificDeacquire
class CCiscoLineDevSpecificDeacquire : public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificDeacquire () : CCiscoLineDevSpecific(SLDST_ACQUIRE) {} virtual ~ CCiscoLineDevSpecificDeacquire () {} char m_DeviceName[16]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_DEACQUIRE と同じ。
明示的に取得解除する必要がある DeviceName。
CCiscoLineDevSpecificRedirectFACCMC クラスは、FAC または CMC(あるいは、その両方)が必要になる他の通話者に、コールをリダイレクトするために使用されます。
(注) | この拡張は、拡張バージョン 0x00050000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificRedirectFACCMC
FAC が無効な場合、TSP は LINEERR_INVALIDFAC という新しいデバイス固有エラー コードを返します。CMC が無効な場合、TSP は LINEERR_INVALIDCMC という新しいデバイス固有エラー コードを返します。
class CCiscoLineDevSpecificRedirectFACCMC: public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificRedirectFACCMC () : CCiscoLineDevSpecific(SLDST_REDIRECT_FAC_CMC) {} virtual ~ CCiscoLineDevSpecificRedirectFACCMC () {} char m_DestDirn[49]; char m_FAC[17]; char m_CMC[17]; // subtract virtual function table pointer virtual DWORD dwSize(void) const {return (sizeof (*this) -4) ; }
SLDST_REDIRECT_FAC_CMC と同じ。
リダイレクト先を指定します。
FAC のディジットを指定します。アプリケーションから FAC を渡さない場合は、このパラメータを NULL 文字列に設定する必要があります。
CMC のディジットを指定します。アプリケーションから CMC を渡さない場合は、このパラメータを NULL 文字列に設定する必要があります。
リダイレクト先のコールのハンドル。
CCiscoLineDevSpecificBlindTransferFACCMC クラスは、FAC また CMC(あるいは、その両方)が必要になる他の通話者に、コールをブラインド転送するために使用されます。FAC が無効な場合、TSP は LINEERR_INVALIDFAC という新しいデバイス固有エラー コードを返します。CMC が無効な場合、TSP は LINEERR_INVALIDCMC という新しいデバイス固有エラー コードを返します。
(注) | この拡張は、拡張バージョン 0x00050000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificBlindTransferFACCMC
class CCiscoLineDevSpecificBlindTransferFACCMC: public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificBlindTransferFACCMC () : CCiscoLineDevSpecific(SLDST_BLIND_TRANSFER_FAC_CMC) {} virtual ~ CCiscoLineDevSpecificBlindTransferFACCMC () {} char m_DestDirn[49]; char m_FAC[17]; char m_CMC[17]; // subtract virtual function table pointer virtual DWORD dwSize(void) const {return (sizeof (*this) -4) ; }
SLDST_BLIND_TRANSFER_FAC_CMC と同じ。
ブラインド転送の宛先を指定します。
FAC のディジットを指定します。アプリケーションから FAC を渡さない場合は、このパラメータを NULL 文字列に設定する必要があります。
CMC のディジットを指定します。アプリケーションから CMC を渡さない場合は、このパラメータを NULL 文字列に設定する必要があります。
ブラインド転送先のコールのハンドル。
CCiscoLineDevSpecificCTIPortThirdPartyMonitor クラスは CTI ポートをサードパーティ モードでオープンするために使用されます。
このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion および dwExtHighVersion パラメータの両方の最上位ビットをセットする必要があります。これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。その他の必要な情報は CCiscoLineDevSpecificCTIPortThirdPartyMonitor クラスで提供されます。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificCTIPortThirdPartyMonitor
オープンする回線の deviceID に対して lineNegotiateExtVersion を呼び出します(または dwExtLowVersion パラメータと dwExtHighVersion パラメータを 0x80000000 に設定します)。
オープンする回線の deviceID に対して lineOpen を呼び出します。
lpParams パラメータの CCiscoLineDevSpecificCTIPortThirdPartyMonitor メッセージを使用して lineDevSpecific を呼び出します。
(注) | この拡張は、拡張バージョン 0x00050000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CCiscoLineDevSpecificCTIPortThirdPartyMonitor: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificCTIPortThirdPartyMonitor () : CCiscoLineDevSpecific(SLDST_CTI_PORT_THIRD_PARTY_MONITOR) {} virtual ~ CCiscoLineDevSpecificCTIPortThirdPartyMonitor () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_CTI_PORT_THIRD_PARTY_MONITOR と同じ。
CCiscoLineDevSpecificSendLineOpen クラスは、一般的な遅延オープン用に使用します。このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion および dwExtHighVersion パラメータの両方の最上位ビットの次のビットをセットする必要があります。これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。その他の必要な情報は CCiscoLineDevSpecificUserSetSRTPAlgorithmID クラスで提供されます。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificSendLineOpen
オープンする回線の deviceID に対して lineNegotiateExtVersion を呼び出します(dwExtLowVersion パラメータと dwExtHighVersion パラメータを 0x40070000 に設定します)。
オープンする回線の deviceID に対して lineOpen を呼び出します。
SRTP アルゴリズム ID を設定するには、lpParams パラメータの CCiscoLineDevSpecificUserSetSRTPAlgorithmID メッセージのような他の lineDevSpecific を呼び出します。
あるいは TSP 側から回線オープンを起動するには、CCiscoLineDevSpecificSendLineOpen を指定した lineDevSpecific を呼び出します。
(注) | この拡張は、拡張バージョン 0x40070000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificSendLineOpen: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificSendLineOpen () : CCiscoLineDevSpecific(SLDST_SEND_LINE_OPEN) {} virtual ~ CciscoLineDevSpecificSendLineOpen () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CCiscoLineSetIntercomSpeeddial クラスは、インターコム回線上で短縮ダイヤルまたはラベルを設定またはリセットするときに使用します。
(注) | この拡張は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です |
CCiscoLineDevSpecific | +--CciscoLineSetIntercomSpeeddial
class CciscoLineSetIntercomSpeeddial: public CCiscoLineDevSpecific { public: CciscoLineSetIntercomSpeeddial () : CCiscoLineDevSpecific(SLDST_LINE_SET_INTERCOM_SPEEDDIAL) {} virtual ~ CciscoLineSetIntercomSpeeddial () {} DWORD SetOption; //0 = clear app value, 1 = set App Value char Intercom_DN[MAX_DIRN]; char Intercom_Ascii_Label[MAX_DIRN]; wchar_t Intercom_Unicode_Label[MAX_DIRN]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_USER_SET_INTERCOM_SPEEDDIAL と同じ。
このパラメータは、新しいインターコム スピード ダイヤル値を設定するか、既存の値を消去するかを示します。0 の場合は消去し、1 の場合は設定します。
インターコム ターゲットを指定する DN 配列。
インターコム回線ラベルの ASCII 値。
インターコム回線ラベルの Unicode 値。
CciscoLineIntercomTalkback クラスは、インターコム回線上の着信インターコム コールで応答(TalkBack)を開始するときに使用します。
(注) | この拡張は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CciscoLineIntercomTalkback
class CciscoLineIntercomTalkback: public CCiscoLineDevSpecific{ public: CCciscoLineIntercomTalkback () : CCiscoLineDevSpecific(SLDST_INTERCOM_TALKBACK) {} virtual ~ CciscoLineIntercomTalkback () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CCiscoLineRedirectWithFeaturePriority を使用すると、指定された機能プライオリティでコールをリダイレクトできます。次は、CCiscoLineDevSpecific の構造です。
CCiscoLineDevSpecific | +--CciscoLineRedirectWithFeaturePriority
(注) | この拡張は、拡張バージョン 0x00080001 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineRedirectWithFeaturePriority: public CCiscoLineDevSpecific { public: CciscoLineRedirectWithFeaturePriority() : CCiscoLineDevSpecific(SLDST_REDIRECT_WITH_FEATURE_PRIORITY) {} virtual ~ CciscoLineRedirectWithFeaturePriority () {} CiscoDoNotDisturbFeaturePriority FeaturePriority; char m_DestDirn[25]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_REDIRECT_WITH_FEATURE_PRIORITY と同じ。
プライオリティを示します。
リダイレクト先です。
CCiscoLineDevSpecificStartCallMonitoring は、回線上のアクティブ コールに対するモニタリング開始要求を送信するときに使用します。
(注) | この拡張は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificStartCallMonitoring
class CCiscoLineDevSpecificStartCallMonitoring: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificStartCallMonitoring () : CCiscoLineDevSpecific(SLDST_START_CALL_MONITORING) {} virtual ~ CCiscoLineDevSpecificStartCallMonitoring () {} DWORD m_PermanentLineID ; DWORD m_MonitorMode; DWORD m_ToneDirection; // subtract out the virtual function table pointer virtual DWORD dwSize(void) const {return sizeof(*this)-4;} } ;
SLDST_START_MONITORING と同じ。
モニタリングの対象となるアクティブ コールが存在する回線の固定 lineID。
これは次のいずれかの enum 値になります。
enum { MonitorMode_None = 0, MonitorMode_Silent = 1, MonitorMode_Whisper = 2, // 未使用 MonitorMode_Active = 3 // 未使用 } MonitorMode;
(注) | サイレント モニタリング モードだけがサポートされるモードです。このモードでは、スーパーバイザからエージェントに話しかけることはできません。 |
このパラメータは、モニタリングの開始時にエージェントまたはカスタマーの電話機でトーンを再生するかどうかを指定します。これは次のいずれかの enum 値になります。
enum { PlayToneDirection_LocalOnly = 0, PlayToneDirection_RemoteOnly, PlayToneDirection_BothLocalAndRemote, PlayToneDirection_NoLocalOrRemote } PlayToneDirection
-LINERR_OPERATIONFAILED-LINEERR_OPERATIONUNAVAIL -LINEERR_RESOURCEUNAVAIL -LINEERR_BIB_RESOURCE_UNAVAIL -LINERR_PENDING_REQUEST -LINEERR_OPERATION_ALREADY_INPROGRESS -LINEERR_ALREADY_IN_REQUESTED_STATE -LINEERR_PRIMARY_CALL_INVALID -LINEERR_PRIMARY_CALL_STATE_INVALID
CCiscoLineDevSpecificStartCallRecording は、回線上のアクティブ コールに対する録音要求を送信するときに使用します。
(注) | この拡張は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificStartCallRecording
class CCiscoLineDevSpecificStartCallRecording: public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificStartCallRecording () : CCiscoLineDevSpecific(SLDST_START_CALL_RECORDING) {} virtual ~CCiscoLineDevSpecificStartCallRecording () {} DWORD m_ToneDirection; DWORD m_InvocationType; virtual DWORD dwSize(void) const { // subtract out the virtual function table pointer return sizeof(*this)-sizeof(void*); } };
SLDST_START_RECORDING と同じ。
このパラメータは、録音の開始時にエージェントまたはカスタマーの電話機でトーンを再生するかどうかを指定します。次の値を指定できます。
enum { PlayToneDirection_NoLocalOrRemote = 0, PlayToneDirection_LocalOnly, PlayToneDirection_RemoteOnly, PlayToneDirection_BothLocalAndRemote, PlayToneDirection_NotApplicable } PlayToneDirection
このパラメータは、録音ステータスを電話機に表示するか(ユーザ制御録音)、または表示しないか(サイレント録音)を指定します。
enum RecordingInvocationType { RecordingInvocationType_SilentRecording = 1, RecordingInvocationType_UserControlledRecording = 2 }
-LINERR_OPERATIONFAILED-LINEERR_OPERATIONUNAVAIL -LINEERR_INVALCALLHANDLE -LINEERR_BIB_RESOURCE_UNAVAIL -LINERR_PENDING_REQUEST -LINERR_OPERATION_ALREADY_INPROGRESS -LINEERR_RECORDING_INVOCATION_TYPE_NOT_MATCHING -LINEERR_RECORDING_CONFIG_NOT_MATCHING
CCiscoLineDevSpecificStopCallRecording は、回線上のコールの録音を停止するときに使用します。
(注) | この拡張は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificStopCallRecording
class CCiscoLineDevSpecificStopCallRecording: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificStopCallRecording () : CCiscoLineDevSpecific(SLDST_STOP_CALL_RECORDING) {} virtual ~CCiscoLineDevSpecificStopCallRecording () {} DWORD m_InvocationType; virtual DWORD dwSize(void) const { // subtract out the virtual function table pointer return sizeof(*this)-sizeof(void*); } } ;
SLDST_STOP_RECORDING と同じ。
このパラメータは、録音ステータスを電話機に表示するか(ユーザ制御録音)、または表示しないか(サイレント録音)を指定します。
enum RecordingInvocationType { RecordingInvocationType_SilentRecording = 1, RecordingInvocationType_UserControlledRecording = 2 }
-LINERR_OPERATIONFAILED-LINEERR_OPERATIONUNAVAIL -LINEERR_INVALCALLHANDLE -LINERR_PENDING_REQUEST -LINEERR_RECORDING_INVOCATION_TYPE_NOT_MATCHING -LINEERR_NO_RECORDING_SESSION -LINEERR_RECORDING_SESSION_INACTIVE
CciscoLineDevSpecificSetIPv6AddressAndMode クラスは、静的登録中に IPv6 アドレスおよびアドレッシング モードをアプリケーション側で設定する必要があるときに使用します。このクラスを使用するには、回線をオープンする前に lineNegotiateExtVersion API を呼び出す必要があります。lineNegotiateExtVersion を呼び出す際には、dwExtLowVersion パラメータおよび dwExtHighVersion パラメータの両方の最上位ビットまたはその次の上位ビットをセットする必要があります。これにより、lineOpen の呼び出しの動作が変わります。回線は実際にはオープンされませんが、より多くの情報を使用してオープンを完了するために lineDevSpecific の呼び出しを待機します。その他の必要な情報は CciscoLineDevSpecificSetIPv6AddressAndMode クラスで提供されます。
CCiscoLineDevSpecific| +--CciscoLineDevSpecificSetIPv6AddressAndMode
(注) | この拡張機能は、拡張バージョン 0x80090000、0x40090000、またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
回線の deviceID に対して lineNegotiateExtVersion 呼び出しを開きます(dwExtLowVersion パラメータおよび dwExtHighVersion パラメータを 0x80090000 または 0x40090000 に設定します)。
回線の deviceID に対して lineOpen の呼び出しを開きます。
IPv6 アドレスおよび IP アドレッシング モードを IPv6 に指定するには、lpParams パラメータの CciscoLineDevSpecificSetIPv6AddressAndMode メッセージを使用して lineDevSpecific を呼び出します。
class CciscoLineDevSpecificSetIPv6AddressAndMode: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificSetIPv6AddressAndMode() : CCiscoLineDevSpecific(SLDST_USER_SET_IPv6_ADDRESS_AND_MODE), m_ReceivePort(-1), m_IPAddressMode( (IpAddressingMode) 1) { } virtual ~ CciscoLineDevSpecificSetIPv6AddressAndMode() { } char m_ReceiveIPv6Address[16]; DWORD m_ReceivePort; IpAddressingMode m_IPAddressMode; virtual DWORD dwSize(void) const { return sizeof(*this) -4; } // subtract out the virtual function table pointer };
SLDST_USER_SET_IPv6_ADDRESS と同じ。
CTI ポートを登録する IPv6 アドレスを指定する必要があります。
ユーザが CTI ポートを登録するときのポート番号を指定します。
CTI ポート/RP を登録するときのアドレッシング モードを指定します。
CCiscoLineDevSpecificSetRTPParamsForCallIPv6 クラスは、IPv6 アドレスの指定が必要なコールの RTP パラメータを設定するときに使用します。
(注) | この拡張は、拡張バージョン 0x00090000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificSetRTPParamsForCallIPv6: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificSetRTPParamsForCallIPv6 () : CCiscoLineDevSpecific(SLDST_USER_SET_RTP_INFO_IPv6) {} virtual ~ CciscoLineDevSpecificSetRTPParamsForCallIPv6 () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer char m_RecieveIPv6[16]; // UDP audio reception IPv6 DWORD m_RecievePort // UDP audio reception port };
SLDST_USER_SET_RTP_INFO_IPv6 と同じ。
そのコールに対して設定する RTP オーディオ受信 IPv6 アドレスです。
そのコールに対して設定する RTP オーディオ受信ポートです。
CCiscoLineDevSpecificDirectTransfer は、回線をまたいで、または同じ回線上でコールを転送するときに使用します。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificDirectTransfer
(注) | この拡張は、拡張バージョン 0x00090001 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificDirectTransfer: public CCiscoLineDevSpecific{ public: CciscoLineDevSpecificDirectTransfer () : CCiscoLineDevSpecific(SLDST_DIRECT_TRANSFER) {} virtual ~ CciscoLineDevSpecificDirectTransfer () {} DWORD m_CallIDsToTransfer; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_DIRECT_TRANSFER と同じ。
転送するコンサルト dwCallID。
転送するコールのハンドルと同じ。
CCiscoLineDevSpecificRegisterCallPickupGroupForNotification クラスは、ピックアップのコールの通知の、コール ピックアップ グループの登録に使用します。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificRegisterCallPickupGroupForNotification
(注) | この拡張機能は、拡張バージョン 0x000A0000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificRegisterCallPickupGroupForNotification: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificRegisterCallPickupGroupForNotification (): CCiscoLineDevSpecific (SLDST_CALLPICKUP_GROUP_REGISTER) {} virtual ~ CciscoLineDevSpecificRegisterCallPickupGroupForNotification () {} char callPickupGroupDN[MAX_DIRN]; char callPickupGroupPartition[MAX_PARTITION]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CCiscoLineDevSpecificUnRegisterCallPickupGroupForNotification クラスは、ピックアップのコールの通知のコール ピックアップ グループの登録解除に使用します。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificUnRegisterCallPickupGroupForNotification
(注) | この拡張機能は、拡張バージョン 0x000A0000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificUnRegisterCallPickupGroupForNotification: public CCiscoLineDevSpecific{ Public: CciscoLineDevSpecificUnRegisterCallPickupGroupForNotification () : CCiscoLineDevSpecific(SLDST_CALLPICKUP_GROUP_UNREGISTER) {} virtual ~ CciscoLineDevSpecificUnRegisterCallPickupGroupForNotification () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CCiscoLineDevSpecificCallPickupRequest クラスは、ピックグループのコールのピックアップに使用します。
CCiscoLineDevSpecific +--CciscoLineDevSpecificCallPickupRequest
(注) | この拡張機能は、拡張バージョン 0x000A0000 以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificCallPickupRequest: public CCiscoLineDevSpecific{ public: CciscoLineDevSpecificCallPickupRequest (): CCiscoLineDevSpecific (SLDST_CALLPICKUP_CALL) {} virtual ~ CciscoLineDevSpecificCallPickupRequest () {} DWORD PickupType; char PickupGroupDN[MAX_DIRN]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
ピックアップ グループの DN。DN は、GroupCallPickUp および DirectedCallPickUp が必要です。
ピックアップのタイプを示します(CtiCallPickUp、CtiGroupCallPickUp、CtiOtherPickup、DirectedCallPickup)。
enum CallPickupType{ CallPickup_Simple = 0, CallPickup_Group = 1, CallPickup_Other = 2, CallPickup_Direct = 3 };
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificStartSendMediaToBIBRequest
CCiscoLineDevSpecificStartSendMediaToBIBRequest クラスにより、カスタマー コールに対するエージェント グリーティングを開始できます。
(注) | この拡張は、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
class CCiscoLineDevSpecificStartSendMediaToBIBRequest: public CCiscoLineDevSpecific{ public: CCiscoLineDevSpecificStartSendMediaToBIBRequest (): CCiscoLineDevSpecific (SLDST_START_SEND_MEDIA_TO_BIB) {} virtual ~ CCiscoLineDevSpecificStartSendMediaToBIBRequest () {} char m_IVRDN [49]; char m_CGPNTOIVR [49]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer
SLDST_START_SEND_MEDIA_TO_BIB と同じ。
エージェント グリーティングの再生元となる IVR ポート DN。
IVR に渡される CallingPartyDN。アプリケーションは、このフィールドを使用して DN をエージェント グリーティング コールの CallingPartyDN として渡すことができます。
CCiscoLineDevSpecific | +--CCiscoLineDevSpecificStopSendMediaToBIBRequest
CCiscoLineDevSpecificStopSendMediaToBIBRequest クラスにより、エージェントとカスタマーの間のコールで再生されるエージェント グリーティングを停止できます。
(注) | この拡張は、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
class CCiscoLineDevSpecificStopSendMediaToBIBRequest: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificStopSendMediaToBIBRequest (): CCiscoLineDevSpecific (SLDST_STOP_SEND_MEDIA_TO_BIB) {} virtual ~ CCiscoLineDevSpecificStopSendMediaToBIBRequest () {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_START_SEND_MEDIA_TO_BIB と同じ。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificEnableFeatureSupport
CCiscoLineDevSpecificPlaytone クラスは、要求で指定された方向にトーン(Zip トーン)を再生するために使用します。
(注) | この拡張は、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
class CCiscoLineDevSpecificPlaytone: public CCiscoLineDevSpecific //AgentZiptone { public: CCiscoLineDevSpecificPlaytone() : CCiscoLineDevSpecific(SLDST_PLAY_TONE) { } virtual ~ CCiscoLineDevSpecificPlaytone() { } DWORD m_Tone; DWORD m_ToneDirection; virtual DWORD dwSize(void) const { return sizeof(*this) -4; } // subtract out the virtual function table pointer };
CTONE_ZIP を指定します。
Tonedirection(Local/Remote)を指定します。
新しいエラー コード:LINEERR_REGISTER_GETPORT_SUPPORT_MISMATCH 0xC000000F
CCiscoLineDevSpecific | +--CciscoLineDevSpecificEnableFeatureSupport
CciscoLineDevSpecificEnableFeatureSupport クラスにより、アプリケーションは機能サポートを拡張または更新できます。
(注) | この拡張は、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificEnableFeatureSupport: public CCiscoLineDevSpecific{ public: CciscoLineDevSpecificEnableFeatureSupport() : CCiscoLineDevSpecific(SLDST_ENABLE_FEATURE_SUPPORT) { } virtual ~ CciscoLineDevSpecificEnableFeatureSupport() { } DWORD m_Feature; DWORD m_Feature_Capability; //Should have Value supported for Feature specified in m_Feature virtual DWORD dwSize(void) const { return sizeof(*this) -4; } // subtract out the virtual function table pointer
SLDST_ENABLE_FEATURE_SUPPORT と同じ。
機能変更が必要であり、次の Enum の値を使用する必要のある機能の値。
enum TspFeatureSupport { Feature_unknown = 0, Feature_EarlyOffer = 1 };
この機能に関して変更/更新が必要な機能情報。この情報は、機能に応じて異なります。
アーリー オファー(Get ポート)のサポート
m_Feature は、Feature_EarlyOffer(1) および
m_Feature_Capability は、次の Enum の値を使用する必要があります。
enum TspFeatureOption{ Feature_Disable = 0, Feature_Enable = 1 };
次に、この DevSpecific タイプを使用し、クラス オブジェクトを入力してアーリー オファー機能サポートを有効/無効にするコード例を示します。
void main(){ … … … …. CciscoLineDevSpecificEnableFeatureSupport featureObject; featureObject.m_MsgType = SLDST_ENABLE_FEATURE_SUPPORT; featureObject.m_Feature = Feature_EarlyOffer(1); featureObject. m_Feature_Capability = Feature_Enable(1)/ Feature_Disable(0); int result = TSPI_lineDevSpecific(dwRequestID,hdLine, dwAddressID, NULL, &featureObject, sizeof(CciscoLineDevSpecificEnableFeatureSupport)); … … … …. … … … …. } CiscoLineDevSpecificMsg.h の CiscoLineDevStateOtherReason 列挙型に 新しい値 CiscoLineDevStateOutOfServiceReason_EMLogin と CiscoLineDevStateOutOfServiceReason_EMLogout がある: enum CiscoLineDevStateOutOfServiceReason { CiscoLineDevStateOutOfServiceReason_Unknown = 0x00000000, CiscoLineDevStateOutOfServiceReason_CallManagerFailure = 0x00000001, CiscoLineDevStateOutOfServiceReason_ReHomeToHigherPriorityCM = 0x00000002, CiscoLineDevStateOutOfServiceReason_NoCallManagerAvailable = 0x00000003, CiscoLineDevStateOutOfServiceReason_DeviceFailure = 0x00000004, CiscoLineDevStateOutOfServiceReason_DeviceUnregistered = 0x00000005, CiscoLineDevStateOutOfServiceReason_EnergyWisePowerSavePlus = 0x00000006, CiscoLineDevStateOutOfServiceReason_EMLogin = 0x00000007, CiscoLineDevStateOutOfServiceReason_EMLogout = 0x00000008, CiscoLineDevStateOutOfServiceReason_CtiLinkFailure = 0x00000101 }; CiscoLineDevSpecificMsg.h に新しい CiscoLineDevStateCloseReason enumeration 列挙型がある: enum CiscoLineDevStateCloseReason { CiscoLineDevStateCloseReason_Unknown = 0, CiscoLineDevStateCloseReason_EMLogin = 1, CiscoLineDevStateCloseReason_EMLogout = 2 }; CiscoLineDevSpecificMsg.h に新しい CiscoLineDevStateOtherReason 列挙型がある: enum CiscoLineDevStateOtherReason { CiscoLineDevStateOtherReason_Unknown = 0, CiscoLineDevStateOtherReason_OtherLineInactive = 1, CiscoLineDevStateOtherReason_OtherLineActive = 2, CiscoLineDevStateOtherReason_OtherLineCapsChange = 3 }; 「inactive」状態の回線デバイスで操作が呼び出された場合、 新しい LINEERR_DEVICE_INACTIVE エラーが返される。
CCiscoLineDevSpecific | +--CciscoLineDevSpecificMonitoringUpdateMode
CciscoLineDevSpecificMonitoringUpdateMode クラスにより、サイレント モニタリング モードからウィスパー コーチング モードへの、またはその逆の切り替えを行うことができます。
(注) | この拡張は、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合にだけ利用可能です。 |
class CciscoLineDevSpecificMonitoringUpdateMode : public CCiscoLineDevSpecific { public: CciscoLineDevSpecificMonitoringUpdateMode (): CCiscoLineDevSpecific (SLDST_UPDATE_MONITOR_MODE) {} virtual ~ CciscoLineDevSpecificMonitoringUpdateMode () {} DWORD m_MonitorMode; DWORD m_ActiveToneDirection; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
SLDST_UPDATE_MONITOR_MODE と同じ。
切り替え後のモニタリング モード。
再生されるトーンの方向。
CCiscoLineDevSpecific | +-- CciscoLineDevSpecificAddRemoteDestination
CciscoLineDevSpecificAddRemoteDestination クラスは新しいリモート接続先を CTI リモートデバイスに追加するために使用します。
(注) | この拡張を使用できるのは、拡張バージョン 0x000C0000 以上をネゴシエートした、CTI リモート デバイスの回線のみです。 |
class CciscoLineDevSpecificAddRemoteDestination: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificAddRemoteDestination() : CCiscoLineDevSpecific(SLDST_ADD_REMOTE_DESTINATION) { } virtual ~ CciscoLineDevSpecificAddRemoteDestination() { } char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]; wchar_t m_UnicodeRDName [MAX_CTI_RD_UNICODE_DISPLAY_STRING]; DWORD m_ActiveRD; virtual DWORD dwSize(void) const { returnsizeof(*this) - sizeof(void*); } // subtract out the virtual function table pointer };
DWORD m_MsgType
Equals SLDST_ADD_REMOTE_DESTINATION
char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]
リモート接続先番号 [*必須フィールド]
wchar_t m_UnicodeRDName [MAX_UNICODE_DISPLAY_STRING]
Unicode のリモート接続先名
DWORD m_activeRD
0 – このリモート接続先がアクティブでない場合
1 以上 – このリモート接続先をアクティブに設定しなければならないタイミング
CCiscoLineDevSpecific | +-- CciscoLineDevSpecificRemoveRemoteDestination
CciscoLineDevSpecificRemoveRemoteDestination クラスは、CTI リモート デバイスのリモート接続先のリストからリモート接続先を削除するために使用します。
(注) | この拡張を使用できるのは、拡張バージョン 0x000C0000 以上をネゴシエートした、CTI リモート デバイスの回線のみです。 |
class CciscoLineDevSpecificRemoveRemoteDestination: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificRemoveRemoteDestination() : CCiscoLineDevSpecific(SLDST_REMOVE_REMOTE_DESTINATION) { } virtual ~ CciscoLineDevSpecificRemoveRemoteDestination() { } char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]; virtual DWORD dwSize(void) const { returnsizeof(*this) - sizeof(void*); } // subtract out the virtual function table pointer };
DWORD m_MsgType
SLDST_REMOVE_REMOTE_DESTINATION と等価
char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]
リモート接続先番号 [*必須フィールド]
(注) | リモート接続先は、CTI リモート デバイスでリモート接続先の一意のキーとして使用されるリモート接続先番号で削除できます。 |
CCiscoLineDevSpecific | +-- CciscoLineDevSpecificUpdateRemoteDestination
CciscoLineDevSpecificUpdateRemoteDestination クラスは CTI リモート デバイスのリモート接続先情報の更新に使用します。
(注) | この拡張機能を利用できるのは、拡張バージョン 0x000C0000 以降をネゴシエートした場合の、CTI リモート デバイス回線のみです。 |
class CciscoLineDevSpecificUpdateRemoteDestination: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificUpdateRemoteDestination() : CCiscoLineDevSpecific(SLDST_UPDATE_REMOTE_DESTINATION) { } virtual ~ CciscoLineDevSpecificUpdateRemoteDestination() { } char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]; wchar_t m_UnicodeRDName [MAX_CTI_RD_UNICODE_DISPLAY_STRING]; char m_NewRDNumber [MAX_CTI_LINE_DIR_SIZE]; DWORD m_ActiveRD; virtual DWORD dwSize(void) const { returnsizeof(*this) - sizeof(void*); } // subtract out the virtual function table pointer };
DWORD m_MsgType
Equals SLDST_UPDATE_REMOTE_DESTINATION.
char m_RDNumber [MAX_CTI_LINE_DIR_SIZE]
更新する必要がある現在のリモート接続先番号 [*必須フィールド]
wchar_t m_UnicodeRDName [MAX_UNICODE_DISPLAY_STRING]
Unicode のリモート接続先名
char m_NewRDNumber [MAX_CTI_LINE_DIR_SIZE]
新規リモート接続先番号 [*必須フィールド]
DWORD m_activeRD
0 – このリモート接続先がアクティブでない場合
1 以上 – このリモート接続先をアクティブに設定しなければならないタイミング
class CciscoLineDevSpecificHoldEx: public CCiscoLineDevSpecific { public: CciscoLineDevSpecificHoldEx() : CCiscoLineDevSpecific(SLDST_HOLD_EX) {} virtual ~ CciscoLineDevSpecificHoldEx() {} char m_MediaContentId [MAX_CISCO_TSP_MEDIA_CONTENT_ID_SIZE]; DWORD m_MediaContentIdLength; virtual DWORD dwSize(void) const {return sizeof(*this) - sizeof(void*);} };
char m_MediaContentId [MAX_CISCO_TSP_MEDIA_CONTENT_ID_SIZE]
メディア コンテンツの識別子(mediaContentID)を表す文字列。(UCM にアップロードした)UCM に既知のメディア コンテンツのみ再生できます。
DWORD m_MediaContentIdLength
m_MediaContentId フィールドの文字列の実際の長さ。
CCiscoLineDevSpecificFeature が親クラスです。現在、サブクラスは CCiscoLineDevSpecificFeature_DoNotDisturb だけです。このサブクラスは、デバイス上で Do Not Disturb(サイレント)機能を有効または無効にするときに使用します。
次のセクションでは、Cisco TSP によって TAPI 構造体に追加される回線デバイス機能固有拡張について説明します。
このセクションでは、次に述べる全クラスの親クラスの CCiscoLineDevSpecificFeature クラスを使用してシスコ固有 TAPI 拡張を呼び出す方法について説明します。
(注) | これは仮想クラスであり、ここでは情報としてのみ記載されています。 |
CCiscoLineDevSpecificFeature
CiscoLineDevSpecific.h ファイルには、Cisco lineDevSpecificFeature 拡張クラスの定数、構造体、およびクラス定義が含まれています。
class CCiscoLineDevSpecificFeature { public: CCicsoLineDevSpecificFeature(const DWORD msgType): m_MsgType(msgType) {;} virtual ~ CCicsoLineDevSpecificFeature() {;} DWORD GetMsgType(void) const {return m_MsgType;} void* lpParams(void) const {return (void*)&m_MsgType;} virtual DWORD dwSize(void) const = 0; private: DWORD m_MsgType; };
パラメータ ブロックへのポインタを返す関数です。
パラメータ ブロック領域のサイズを返す関数です。
メッセージのタイプを指定します。このパラメータ値は、デバイス上で呼び出す機能を一意に識別します。PHONEBUTTONFUNCTION_ TAPI_Constants の定義に、有効な機能 ID がリストされています。現在、認識される値は PHONEBUTTONFUNCTION_DONOTDISTURB(0x0000001A)だけです。
CCiscoLineDevSpecificFeature の各サブクラスの m_MsgType パラメータには、一意の値が設定されます。
CCiscoLineDevSpecificFeature の各サブクラスの m_MsgType パラメータには、一意の値が割り当てられます。C++ の代わりに C を使用する場合は、これが構造体の最初のパラメータを表します。
CCiscoLineDevSpecificFeature_DoNotDisturb クラスと要求を組み合わせて使用すると、デバイス上で DND 機能を有効または無効にすることができます。
サイレント機能を使用すると、ユーザが電話機から離れている場合や、着信コールに応答したくない場合に、電話機をサイレント(DND)状態に切り替えることができます。この機能を有効または無効にするには、電話機の DND ソフトキーを使用します。
CCiscoLineDevSpecificFeature | +--CCiscoLineDevSpecificFeature_DoNotDisturb
class CCiscoLineDevSpecificFeature_DoNotDisturb : public CCiscoLineDevSpecificFeature { public: CCiscoLineDevSpecificFeature_DoNotDisturb() : CCiscoLineDevSpecificFeature(PHONEBUTTONFUNCTION_DONOTDISTURB), m_Operation((CiscoDoNotDisturbOperation)0) {} virtual ~CCiscoLineDevSpecificFeature_DoNotDisturb() {} virtual DWORD dwSize(void) const {return sizeof(*this)-4;} CiscoDoNotDisturbOperation m_Operation; };
PHONEBUTTONFUNCTION_DONOTDISTURB と同じ。
要求された操作を示し、次のいずれかの enum 値になります。
enum CiscoDoNotDisturbOperation { DoNotDisturbOperation_ENABLE = 1, DoNotDisturbOperation_DISABLE = 2 };
DND の設定または状態が変更されると、Cisco TSP からアプリケーションに LINE_DEVSPECIFICFEATURE メッセージが送信されます。この変更通知を受信するには、lineDevSpecific SLDST_SET_STATUS_MESSAGES 要求で DEVSPECIFIC_DONOTDISTURB_CHANGED メッセージ フラグを有効にする必要があります。
LINE_DEVSPECIFICFEATURE メッセージは、回線デバイス上で発生したデバイス固有イベントをアプリケーションに通知します。Do Not Disturb(サイレント)変更通知の場合、このメッセージには、デバイス上で発生した変更のタイプと、その結果としての機能ステータスまたは設定されたオプションに関する情報が含まれます。
LINE_DEVSPECIFICFEATUREdwDevice = (DWORD) hLine; dwCallbackInstance = (DWORD) hCallback; dwParam1 = (DWORD) PHONEBUTTONFUNCTION_DONOTDISTURB; dwParam2 = (DWORD) typeOfChange; dwParam3 = (DWORD) currentValue; enum CiscoDoNotDisturbOption { DoNotDisturbOption_NONE = 0, DoNotDisturbOption_RINGEROFF = 1, DoNotDisturbOption_REJECT = 2 }; enum CiscoDoNotDisturbStatus { DoNotDisturbStatus_UNKNOWN = 0, DoNotDisturbStatus_ENABLED = 1, DoNotDisturbStatus_DISABLED = 2 }; enum CiscoDoNotDisturbNotification { DoNotDisturb_STATUS_CHANGED = 1, DoNotDisturb_OPTION_CHANGED = 2 };
回線デバイスのハンドル。
回線をオープンする際に渡されるコールバック インスタンス。
サイレント変更通知の場合、常に PHONEBUTTONFUNCTION_DONOTDISTURB に同じ。
変更のタイプを示し、次のいずれかの enum 値になります。
enum CiscoDoNotDisturbNotification { DoNotDisturb_STATUS_CHANGED = 1, DoNotDisturb_OPTION_CHANGED = 2 };
dwParam2 の値が DoNotDisturb_STATUS_CHANGED でステータスが変更されたことを示している場合、このパラメータは次のいずれかの enum 値になります。
enum CiscoDoNotDisturbStatus { DoNotDisturbStatus_UNKNOWN = 0, DoNotDisturbStatus_ENABLED = 1, DoNotDisturbStatus_DISABLED = 2 };
dwParam2 の値が DoNotDisturb_OPTION_CHANGED でオプションが変更されたことを示している場合、このパラメータは次のいずれかの enum 値になります。
enum CiscoDoNotDisturbOption { DoNotDisturbOption_NONE = 0, DoNotDisturbOption_RINGEROFF = 1, DoNotDisturbOption_REJECT = 2 };
次の表で、CiscoPhoneDevSpecific のサブクラスのリストおよび簡単な説明を示します。
指定した DEVICE_DEVSPECIFIC メッセージがアプリケーションに送信されるよう、ステータス ビット マップを設定できます。 |
|
このセクションでは、CCiscoPhoneDevSpecific クラスを使用して Cisco TAPI 固有関数を実行する方法について説明します。このクラスは、次で説明するすべてのクラスの親クラスです。
(注) | これは仮想クラスであり、ここでは情報としてのみ記載されています。 |
CCiscoPhoneDevSpecific| +--CCiscoPhoneDevSpecificDataPassThrough | +--CCiscoPhoneDevSpecificSetStatusMsgs | +--CCiscoPhoneDevSpecificSetUnicodeDisplay | +--CCiscoPhoneDevSpecificAcquire | +--CCiscoPhoneDevSpecificDeacquire | +--CCiscoPhoneDevSpecificGetRTPSnapshot
CiscoLineDevSpecific.h ファイルには、シスコ電話機固有クラスの定数、構造体、およびクラス定義が含まれています。
class CCiscoPhoneDevSpecific { public : CCiscoPhoneDevSpecific(DWORD msgType):m_MsgType(msgType) {;} virtual ~CCiscoPhoneDevSpecific() {;} DWORD GetMsgType (void) const { return m_MsgType;} void *lpParams(void) const {return (void*)&m_MsgType;} virtual DWORD dwSize(void) const = 0; private : DWORD m_MsgType ; }
パラメータ ブロックへのポインタの取得に使用できる関数です。
パラメータ ブロック領域のサイズを返す関数です。
メッセージのタイプを指定します。
CCiscoPhoneDevSpecific の各サブクラスは、パラメータ m_MsgType に割り当てられた種々の値を表します。C++ の代わりに C を使用する場合は、これが構造体の最初のパラメータを表します。
有効なメッセージ ID は、CiscoPhoneDevSpecificType 列挙型に含まれます。
enum CiscoPhoneDevSpecificType { CPDST_DEVICE_DATA_PASSTHROUGH_REQUEST = 1, CPDST_SET_DEVICE_STATUS_MESSAGES, CPDST_SET_DEVICE_UNICODE_DISPLAY, CPDST_ACQUIRE, CPDST_DE_ACQUIRE, CPDST_REQUEST_DEVICE_SNAPSHOT_INFO };
XSI 対応の IP フォンを使用すると、アプリケーションから電話機へ直接接続して、XSI 機能(ディスプレイの操作、ユーザ入力の取得、トーンの再生など)にアクセスすることが可能になります。TAPI には、CTI インターフェイス経由でデバイス データを送信する機能があるので、電話への直接接続を個別に確立して維持しなくても、TAPI アプリケーションからこれらの XSI 機能にアクセスできます。この機能は、Cisco Unified TSP のデバイス固有拡張として提供されています。
PhoneDevSpecificDataPassthrough 要求は、IP フォン デバイスに対してだけサポートされます。この機能を使用するには、拡張バージョン 0x00030000 以上を使用して TAPI 電話機をオープンする必要があります。
CCiscoPhoneDevSpecificDataPassThrough クラスは、CTI 対応 IP フォン デバイスにデバイス固有データを送信するために使用します。
(注) | この拡張を使用するには、拡張バージョン 0x00030000 をネゴシエートする必要があります。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificDataPassThrough
class CCiscoPhoneDevSpecificDataPassThrough : public CCiscoPhoneDevSpecific { public: CCiscoPhoneDevSpecificDataPassThrough () : CCiscoPhoneDevSpecific(CPDST_DEVICE_DATA_PASSTHROUGH_REQUEST) { memset((char*)m_DeviceData, 0, sizeof(m_DeviceData)) ; } virtual ~CCiscoPhoneDevSpecificDataPassThrough() {;} // data size determined by MAX_DEVICE_DATA_PASSTHROUGH_SIZE TCHAR m_DeviceData[MAX_DEVICE_DATA_PASSTHROUGH_SIZE] ; // subtract out the virtual funciton table pointer size virtual DWORD dwSize (void) const {return (sizeof (*this)-4) ;} }
CPDST_DEVICE_DATA_PASSTHROUGH_REQUEST と同じ。
この文字バッファには、電話機に送信する XML データが格納されます。
(注) | MAX_DEVICE_DATA_PASSTHROUGH_SIZE = 2000 である必要があります。 |
電話機からアプリケーションにデータを渡せます。このデータは、PhoneGetStatus (PHONESTATUS:devSpecificData) を使用して取得できます。詳細は、PHONESTATUS の説明を参照してください。
PhoneDevSpecificSetStatusMsgs を使用すると、アプリケーションでは、指定した DEVICE_DEVSPECIFIC メッセージがアプリケーションに送信されるよう、ステータス ビット マップを設定します。
この機能を使用するには、拡張バージョン 0x00030000 以上で TAPI 電話機をオープンする必要があります。
(注) | この拡張を使用するには、拡張バージョン 0x00030000 をネゴシエートする必要があります。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificSetStatusMsgs
class CCiscoPhoneDevSpecificSetStatusMsgs:public CCiscoPhoneDevSpecific{ public: CCiscoPhoneDevSpecificSetStatusMsgs() : CCiscoPhoneDevSpecific (CPDST_SET_DEVICE_STATUS_MESSAGES) {;} virtual ~CCiscoPhoneDevSpecificSetStatusMsgs() {;} DWORD m_DevSpecificStatusMsgFlags ; // PHONE_DEVSPECIFIC // subtract virtual function table pointer virtual DWORD dwSize(void) const {return (sizeof (*this) -4) ; } } ;
CPDST_SET_DEVICE_STATUS_MESSAGES と同じ。
PHONE_DEVSPECIFIC イベント フラグのビット マップ
const DWORD DEVSPECIFIC_DEVICE_DATA_PASSTHROUGH_EVENT = 0x00000001;
const DWORD DEVSPECIFIC_DEVICE_SOFTKEY_PRESSED_EVENT = 0x00000002;
const DWORD DEVSPECIFIC_DEVICE_STATE_EVENT = 0x00000004;
const DWORD DEVSPECIFIC_DEVICE_PROPERTY_CHANGED_EVENT = 0x00000008;
PhoneDevSpecificSetUnicodeDisplay は、電話機で Unicode 表示を設定します。
この機能を使用するには、拡張バージョン 0x00060000 以上で TAPI 電話機をオープンする必要があります。
(注) | この拡張を使用するには、拡張バージョン 0x00060000 をネゴシエートする必要があります。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificSetUnicodeDisplay
{ public: CCiscoPhoneDevSpecificSetUnicodeDisplay() : CCiscoPhoneDevSpecific (CPDST_SET_DEVICE_UNICODE_DISPLAY) {;} virtual ~CCiscoPhoneDevSpecificSetUnicodeDisplay() {;} DWORD dwRow; DWORD dwColumn; DWORD dwSizeOfUnicodeStr; wchar_t UnicodeDisplay[MAX_UNICODE_DISPLAY_STRING]; // subtract virtual function table pointer virtual DWORD dwSize(void) const {return (sizeof (*this) -4) ; } } ;
CPDST_SET_DEVICE_UNICODE_DISPLAY と同じ。
Unicode 文字列を表示する必要がある電話機ディスプレイでの行番号
Unicode 文字列を表示する必要がある電話機ディスプレイでの列番号
Unicode 文字列のサイズ
Unicode 表示される文字列で、最大サイズは MAX_UNICODE_DISPLAY_STRING
CCiscoPhoneDevSpecificAcquire クラスは、CTI 対応デバイスを明示的に取得するために使用します。
Cisco Unified Communications Manager システム上にある CTI 対応デバイスをスーパープロバイダー アプリケーションで開く必要がある場合は、上記のインターフェイスを使用して、明示的にそのデバイスを取得する必要があります。正しい応答があれば、通常通りデバイスをオープンできます。
(注) | この拡張は、拡張バージョン 0x00070000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificAcquire
class CCiscoPhoneDevSpecific Acquire : public CCiscoPhoneDevSpecific{ public: CCiscoPhoneDevSpecificAcquire () : CCiscoPhoneDevSpecific (CPDST_ACQUIRE) {} virtual ~ CCiscoPhoneDevSpecificAcquire () {} char m_DeviceName[16]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CPDST_ACQUIRE と同じ。
明示的に取得する必要がある DeviceName。
CCiscoPhoneDevSpecificDeacquire クラスは、明示的に取得したデバイスを明示的に取得解除するために使用します。
Unified Communications Manager システム上で、CTI 対応デバイスをスーパープロバイダー アプリケーションで明示的に取得した場合は、このインターフェイスを使用して、明示的にデバイスを取得解除する必要があります。
(注) | この拡張は、拡張バージョン 0x00070000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificDeacquire
class CCiscoPhoneDevSpecificDeacquire : public CCiscoPhoneDevSpecific{ public: CCiscoPhoneDevSpecificDeacquire () : CCiscoPhoneDevSpecific (CPDST_ACQUIRE) {} virtual ~ CCiscoPhoneDevSpecificDeacquire () {} char m_DeviceName[16]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CPDST_DEACQUIRE と同じ。
明示的に取得解除する必要がある DeviceName。
CCiscoPhoneDevSpecificGetRTPSnapshot クラスは、デバイスからの Call RTP スナップショット イベントを要求するために使用します。LineCallDevSpecific イベントはデバイス上のコールごとに発生します。
(注) | この拡張は、拡張バージョン 0x00070000 以上がネゴシエートされた場合にだけ利用可能です。 |
CCiscoPhoneDevSpecific | +--CCiscoPhoneDevSpecificGetRTPSnapshot
class CCiscoPhoneDevSpecificGetRTPSnapshot: public CCiscoPhoneDevSpecific{ public: CCiscoPhoneDevSpecificGetRTPSnapshot () : CCiscoPhoneDevSpecific (CPDST_REQUEST_RTP_SNAPSHOT_INFO) {} virtual ~ CCiscoPhoneDevSpecificGetRTPSnapshot () {} char m_DeviceName[16]; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer };
CPDST_DEACQUIRE と同じ。
明示的に取得解除する必要がある DeviceName。
CCiscoPhoneDevSpecificSetHuntGroupLoginStatus は、LineDevSpecificMsg.h に追加されます。このクラスを使用すると、アプリケーションは、デバイスの HuntGroup ログイン ステータスをログインまたはログアウトに設定できます。
{ | CCiscoPhoneDevSpecificSetHuntGroupLoginStatus }
class CCiscoPhoneDevSpecificSetHuntGroupLoginStatus: public CCiscoPhoneDevSpecific { public: CCiscoPhoneDevSpecificSetHuntGroupLoginStatus () : CCiscoPhoneDevSpecific(CPDST_REQUEST_DEVICE_HUNTGROUP_LOGIN_STATUS) { } virtual ~CCiscoPhoneDevSpecificSetHuntGroupLoginStatus() { ; } CiscoDeviceHuntGroupLoginStatus m_HuntGroupLoginStatus; virtual DWORD dwSize(void) const { return (sizeof(*this) - sizeof(void*)); } };
{ | +- CPDST_REQUEST_DEVICE_HUNTGROUP_LOGIN_STATUS }
CiscoDeviceHuntGroupLoginStatus m_HuntGroupLoginStatus は列挙型です。
enum CiscoDeviceHuntGroupLoginStatus { CiscoDeviceHuntGroupLoginStatus_NotApplicable = 0, CiscoDeviceHuntGroupLoginStatus_Login = 1, CiscoDeviceHuntGroupLoginStatus_Logout = 2 };
引数の説明
新しいメッセージ タイプ CciscoLineDevSpecificRedirectEx および SLDST_REDIRECT_EX が LineDevSpecific メッセージに追加されます。このメッセージ タイプには、新しい RedirectDeviceName フィールドが含まれています。
CCiscoLineDevSpecific +-- CCiscoLineDevSpecificRedirectEx
class CCiscoLineDevSpecificRedirectEx: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificRedirectEx () : CCiscoLineDevSpecific(SLDST_REDIRECT_EX) { } virtual ~ CCiscoLineDevSpecificRedirectEx () { } DWORD m_RedirectBitMask; CiscoDoNotDisturbFeaturePriority FeaturePriority; char m_DestDirn[MAX_DESTINATION_DIRECTORY_NUMBER]; char m_SetOriginalCalledTo[MAX_DEVICE_SIZE]; char m_FAC[MAX_FAC_CMC_DIGITS]; char m_CMC[MAX_FAC_CMC_DIGITS]; char m_RedirectDeviceName[MAX_DEVICE_SIZE]; DWORD m_ApplicationXMLDataSize; TCHAR m_ApplicationXMLData[MAX_XML_DATA_SIZE]; CiscoCallingSearchSpace m_callingSearchSpace; virtual DWORD dwSize(void) const { return sizeof(*this) - sizeof(void*); } // subtract out the virtual function table pointer };
DWORD m_RedirectBitMask
このビットマスク フィールドは、CciscoLineRedirectEx クラスのどのフィールドが有効でアプリケーションによって使用されるかを示します。
enum RedirectInfoBitMask { RedirectInfo_None = 0x00000000, RedirectInfoSetOriginalCalledTo = 0x00000001, RedirectInfo_FAC= 0x00000002, RedirectInfo_CMC= 0x00000004, RedirectInfo_RedirectDeviceName = 0x00000008, RedirectInfo_CallingSearchSpace = 0x00000010, RedirectInfo_ApplicationXMLData = 0x00000020 };
typedef enum { CiscoCallingSearchSpace_Default = 0, CiscoCallingSearchSpace_CallingParty = 1, CiscoCallingSearchSpace_RedirectingParty = 2 } CiscoCallingSearchSpace;
ここで、CiscoCallingSearchSpace_Default は、リダイレクトされるパーティの CSS を使用します。CiscoCallingSearchSpace_CallingParty は、リダイレクトされるパーティの CSS、つまりリダイレクト後の発呼側を使用します。CiscoCallingSearchSpace_RedirectingParty は、リダイレクト側の CSS を使用します。
機能プライオリティは enum type で説明し定義して、コールの発信や既存コールのリダイレクトを行います。
{ CallPriority_NORMAL = 1 CallPriority_URGENT = 2 CallPriority_EMERGENCY = 3 };
char m_DestDirn[MAX_DESTINATION_DIRECTORY_NUMBER];
コールをリダイレクトする必要がある宛先アドレスを示します。
char m_SetOriginalCalledTo[MAX_DEVICE_SIZE];
OriginalCalledParty で設定する必要がある DN を指定します。
char m_FAC[MAX_FAC_CMC_DIGITS];
FAC のディジットを指定します。アプリケーションから FAC ディジットを渡さない場合は、このパラメータを NULL 文字列に設定できます。
char m_CMC[MAX_FAC_CMC_DIGITS];
CMC のディジットを指定します。アプリケーションから FAC ディジットを渡さない場合は、このパラメータを NULL 文字列に設定できます。
char m_RedirectDeviceName[MAX_DEVICE_SIZE];
コールをリダイレクトする必要があるデバイスの名前を示します。
DWORD m_ApplicationXMLDataSize;
アプリケーションがコール マネージャに送信する xml データのサイズを示します。
TCHAR m_ApplicationXMLData[MAX_XML_DATA_SIZE];
xml データのコンテンツを示します。
アプリケーションでは、0 ~ 10000 文字の範囲内で xml データを送信できます。
CiscoCallingSearchSpace m_callingSearchSpace;
リダイレクト中にアプリケーションが発呼側の CSS またはリダイレクト側の CSS に設定できるコーリング サーチ スペースを示します。
#define MAX_DEVICE_SIZE 49
#define MAX_DESTINATION_DIRECTORY_NUMBER 49
#define MAX_XML_DATA_SIZE 10000
デバイスの機能が変更されると、変更された内容を示す PHONE_STATE イベントが発生します。
dwParam1 - PHONE_STATE
dwParam2 - PHONESTATE_CAPSCHANGE(0x00040000)
dwParam3 - CiscoPhoneCapsDevSpecificStatus - PHONECAPS_DEVSPECIFIC_HUNTGROUP_LOGIN_STATUS(0x00000001)
dwParam4 - デバイスの HuntGroup ログイン ステータスの更新された値
enum CiscoPhoneCapsDevSpecificStatus { PHONECAPS_DEVSPECIFIC_HUNTGROUP_LOGIN_STATUS = 0x00000001 };
ここで、PHONECAPS_DEVSPECIFIC_HUNTGROUP_LOGIN_STATUS は、デバイスの HuntGroup ログイン ステータスが正常に変更されたことをアプリケーションに通知します。
このセクションでは、Cisco Unified TSP でサポートされている回線デバイス固有メッセージについて説明します。アプリケーションは、次の LINE_DEVSPECIFIC メッセージで非標準 TAPI メッセージを受信します。
RTP オーディオのストリームをいつ停止するか、またはいつ開始するかを指示するメッセージ
アプリケーション起動時のアクティブ コールのコール ハンドルを含むメッセージ
メッセージのデータに基づいて、RTP パラメータを設定することを示すメッセージ
セキュアなメディア状態を示すメッセージ
メッセージ タイプは、次の値を持つ列挙型整数を表しています。
enum CiscoLineDevSpecificMsgType{ SLDSMT_START_TRANSMISION = 1, SLDSMT_STOP_TRANSMISION, SLDSMT_START_RECEPTION, SLDSMT_STOP_RECEPTION, SLDST_LINE_EXISTING_CALL, SLDSMT_OPEN_LOGICAL_CHANNEL, SLDSMT_CALL_TONE_CHANGED, SLDSMT_LINECALLINFO_ DEVSPECIFICDATA, SLDSMT_HOLD_REVERSION, SLDSMT_LINE_PROPERTY_CHANGED, SLDSMT_MONITORING_STARTED, SLDSMT_MONITORING_ENDED, SLDSMT_RECORDING_STARTED, SLDSMT_RECORDING_ENDED, SLDSMT_NUM_TYPE, SLDSMT_IP_ADDRESSING_MODE_CHANGED, SLDSMT_START_TRANSMISION_ADDRESSING_MODE, SLDSMT_START_RECEPTION_ADDRESSING_MODE, SLDSMT_DEVICE_STATE, SLDSMT_MONITORING_TERMINATED, SLDSMT_MEDIA_TO_BIB_STARTED, SLDSMT_MEDIA_TO_BIB_ENDED, SLDSMT_MONITORING_MODE_UPDATED, SLDSMT_RTP_GET_IP_PORT SLDSMT_MULTIMEDIA_STREAMSDATA, SLDSMT_ANNOUNCEMENT_STARTED, SLDSMT_ANNOUNCEMENT_ENDED, SLDSMT_RECORDING_FAILED };
アナウンスが起動すると、SLDSMT_ANNOUNCEMENT_STARTED メッセージがアプリケーションに送信されます。パラメータの形式は、次のとおりです。
LINE_DEVSPECIFIC
hDevice:TAPI コール ハンドル
dwParam1:SLDSMT_ANNOUNCEMENT_STARTED
dwParam2:未使用
dwParam3:未使用
アナウンスが終了したら、SLDSMT_ANNOUNCEMENT_ENDED メッセージがアプリケーションに送信されます。アナウンスが再生されない場合、アナウンスが成功したかどうか確認するための原因コード パラメータおよび障害理由を分析します。パラメータの形式は、次のとおりです。
LINE_DEVSPECIFIC
hDevice:TAPI コール ハンドル
dwParam1:SLDSMT_ANNOUNCEMENT_ENDED
dwParam2:結果(障害が発生した場合 0 またはエラー コード)
dwParam3:未使用
SLDSMT_RECORDING_FAILED は、割り込み後に録画が再起動できないときに、アプリケーションに生成されます。アプリケーションは、録音を再起動する必要があります。パラメータの形式は、次のとおりです。
LINE_DEVSPECIFIC
hDevice:TAPI コール ハンドル
dwParam1:SLDSMT_RECORDING_FAILED (0x1C)
dwParam2:障害の原因コード
dwParam3:未使用
メッセージを受け取ると、RTP ストリーム送信が開始され、次のようになります。
dwParam2 は、RTP ストリームの送信先となるリモート マシンのネットワーク バイト順 IP アドレスを指定します。
dwParam3 の上位ワードは、RTP ストリームの送信先となるリモート マシンのネットワーク バイト順 IP ポートを指定します。
dwParam3 の下位ワードは、使用するパケット サイズをミリ秒単位で指定します。
アプリケーションは、RTP オーディオのストリームをいつ開始するかを指示する、これらのメッセージを受け取ります。拡張バージョン 1.0(0x00010000)では、パラメータは次の形式を持っています。
dwParam1 には、メッセージ タイプが入ります。
dwParam2 には、リモート マシンの IP アドレスが入ります。
dwParam3 の上位ワードには、RTP ストリームの送信先となるリモート マシンのネットワーク バイト順 IP ポートが入り、下位ワードにはミリ秒でのパケット サイズが入ります。
メッセージを受け取ると、RTP ストリーム受信が開始され、次のようになります。
dwParam2 は、使用するローカル マシンのネットワーク バイト順 IP アドレスを指定します。
dwParam3 の上位ワードは、使用するネットワーク バイト順 IP ポートを指定します。
dwParam3 の下位ワードは、使用するパケット サイズをミリ秒単位で指定します。
メッセージを受け取ると、RTP ストリーム受信が開始されます。
拡張バージョン 1 では、パラメータは次の形式を持っています。
dwParam1 には、メッセージ タイプが入ります。
dwParam2 には、リモート マシンの IP アドレスが入ります。
dwParam3 の上位ワードには、RTP ストリームの送信先となるリモート マシンのネットワーク バイト順 IP ポートが入り、下位ワードにはミリ秒でのパケット サイズが入ります。
これらのイベントによって、アプリケーションの起動時に PBX 内に存在していたコールが通知されます。パラメータの形式は、次のとおりです。
コールのメディアがダイナミック ポート登録用に登録された CTI ポートまたはルート ポイントで確立されると、このメッセージを受信することにより、そのコールに対して IP アドレスおよび UDP ポート番号を設定する必要があることを示されます。
(注) | この拡張は、拡張バージョン 0x00040000 以上がネゴシエートされた場合にだけ利用可能です。 |
このメッセージは、異なるフィールドに対して LINECALLINFO 構造体の DEVSPECIFIC 部分で DEVSPECIFICDATA 情報が変更されたことを示します。
(注) | これらのフィールドは、ネゴシエートされたバージョンが特定の機能をサポートしている場合のみ使用できます。 |
hCall:コール ハンドル
dwParam1:メッセージ タイプ
dwParam2
SLDST_SRTP_INFO | SLDST_QOS_INFO |SLDST_PARTITION_INFO | SLDST_EXTENDED_CALL_INFO | SLDST_CALL_ATTRIBUTE_INFO|SLDST_CCM_CALLID| SLDST_CALL_SECURITY_STATUS | SLDST_NUMBER_TYPE_CHANGED | SLDST_GLOBALIZED_CALLING_PARTY_CHANGED | SLDST_FAR_END_IP_ADDRESS_CHANGED | SLDST_UNIQUE_CALL_REF_ID_INFO SLDST_DEVICE_VIDEO_CAP_INFO | SLDST_MULTIMEDIA_STREAMS_INFO
ビット マスクの値は次のとおりです。
SLDST_SRTP_INFO |
0x00000001 |
SLDST_QOS_INFO |
0x00000002 |
SLDST_PARTITION_INFO |
0x00000004 |
SLDST_EXTENDED_CALL_INFO |
0x00000008 |
SLDST_CALL_ATTRIBUTE_INFO |
0x00000010 |
SLDST_CCM_CALL_ID |
0x00000020 |
SLDST_SECURITY_STATUS_INFO |
0x00000040 |
SLDST_NUMBER_TYPE_CHANGED |
0x00000080 |
SLDST_GLOBALIZED_CALLING_PARTY_CHANGED |
0x00000100 |
SLDST_FAR_END_IP_ADDRESS_CHANGED |
0x00000200 |
SLDST_UNIQUE_CALL_REF_ID_INFO |
0x00000400 |
SLDST_DEVICE_VIDEO_CAP_INFO |
0x00000800 |
SLDST_MULTIMEDIA_STREAMS_INFO |
0x00001000 |
たとえば、SRTP と QoS が変更されてもパーティションは変更されていない場合は、SLDST_SRTP_INFO ビットと SLDST_QOS_INFO ビットの両方がセットされます。dwParam2 の値は、SLDST_SRTP_INFO | SLDST_QOS_INFO = 0x00000011 になります。
dwParam3:SRTP 情報が変更されている場合、このフィールドには CiscoSecurityIndicator が格納されます。
enum CiscoSecurityIndicator { SRTP_MEDIA_ENCRYPT_KEYS_AVAILABLE, SRTP_MEDIA_ENCRYPT_USER_NOT_AUTH, SRTP_MEDIA_ENCRYPT_KEYS_UNAVAILABLE, SRTP_MEDIA_NOT_ENCRYPTED };
(注) | SRTP のビット マスクが dwParam2 にセットされているときには、dwParam3 が使用されます。 |
コールでトーン変更が発生したときに、このメッセージを受け取ることにより、トーンおよびトーン変更の原因となった機能が示されます。
(注) | この拡張は、拡張バージョン 0x00050000 以上がネゴシエートされた場合にだけ利用可能です。Cisco Unified TSP Release 4.1 以降では、FAC 機能または CMC 機能の結果として CTONE_ZIPZIP トーンが生成された場合のコール トーン変更イベントに対してだけ、このイベントが送信されます。 |
hCall:コール トーン変更イベントの対象コール
dwParam:メッセージ タイプ
dwParam2:CTONE_ZIPZIP、0x31(Zip Zip トーン)、CTONE_ZIP、0x32(Zip トーン)
dwParam3:dwParam2 が CTONE_ZIPZIP の場合、このパラメータには次のいずれかの値のビットマスクが格納されます。
(注) | 両方のコードが必要な DN の場合、最初のイベントは常に FAC コードと CMC コードの両方に適用されます。# で区切られた両方のコードを同じ要求で送信することもできます。最初の要求で送信されるコードによっては、2 番めのイベントの生成が省略されます。 |
回線プロパティが変更された場合、LINEDEVSPECIFIC イベントが発行され変更が示されます。
(注) | この拡張機能は、拡張バージョン 0x00080000 以上がネゴシエートされた場合にだけ利用可能です。 |
dwParam2:表示タイプ:CiscoLinePropertyChangeType
enum CiscoLinePropertyChangeType { LPCT_INTERCOM_LINE = 0x00000001, LPCT_RECORDING_TYPE = 0x00000002, LPCT_MAX_CALLS = 0x00000004, LPCT_BUSY_TRIGGER = 0x00000008, LPCT_LINE_INSTANCE = 0x00000010, LPCT_LINE_LABEL = 0x00000020, LPCT_VOICEMAIL_PILOT = 0x00000040, LPCT_DEVICE_IPADDRESS = 0x00000080, LPCT_NEWCALL_ROLLOVER = 0x00000100, LPCT_CONSULTCALL_ROLLOVER = 0x00000200, LPCT_JOIN_ON_SAME_LINE = 0x00000400, LPCT_JOIN_ACROSS_LINE = 0x00000800, LPCT_DIRECTTRANSFER_ON_SAME_LINE = 0x00001000, LPCT_DIRECTTRANSFER_ACROSS_LINE = 0x00002000 };
この場合、dwParam2 = LPCT_INTERCOM_LINE で、dwParam3 は変更の結果です
Enum CiscoIntercomLineChangeResult { IntercomSettingChange_successful = 0; IntercomSettingRestorationFail = 1 }
If dwParam2 = LPCT_RECORDING_TYPE, dwParam3 will have a new Recording Type:
enum recordType { RecordType_NoRecording = 0, RecordType_AutomaticRecording = 1, RecordType_ApplicationInvokedCallRecording = 2, RecordType_DeviceInvokedCallRecording = 3 };
電話プロパティが変更された場合、PHONE_DEVSPECIFIC イベントが発行され、変更されたことが示されます。
パラメータの形式は次のとおりです。
dwParam1:SLDSMT_LINE_PROPERTY_CHANGED(0x04)
dwParam2:表示タイプ、CiscoLinePropertyChangeType
dwParam3:dwParam2(LinePropertyChangeType)に基づいて更新
enum CiscoPhonePropertyChangeType
{
PPCT_DEVICE_IPADDRESS = 0x00000001,
PPCT_NEWCALL_ROLLOVER = 0x00000002,
PPCT_CONSULTCALL_ROLLOVER = 0x00000004,
PPCT_JOIN_ON_SAME_LINE = 0x00000008,
PPCT_JOIN_ACROSS_LINE = 0x00000010,
PPCT_DIRECTTRANSFER_ON_SAME_LINE = 0x00000020,
PPCT_DIRECTTRANSFER_ACROSS_LINE = 0x00000040,
PPCT_DEVICE_MULTIMEDIACAP_INFO = 0x00000080,
PPCT_DEVICE_HUNTGROUP_LOGIN_INFO = 0x00000090,
};
PPCT_DEVICE_MULTIMEDIACAP_INFO
回線/デバイスのデバイス マルチメディア機能情報が変更されたことを示す、またはアプリケーションに通知します。
PPCT_DEVICE_HUNTGROUP_LOGIN_INFO
デバイスの DeviceHuntGroup ログイン ステータスが変更されたことを示す、またはアプリケーションに通知します。
特定のコールでモニタリングが開始されると、このイベントがモニタされるコールに対して起動され、アプリケーションに通知されます。
(注) | このイベントは、拡張バージョン 0x00080000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
特定のコールでモニタリングが停止すると、このイベントがモニタされるコールに対して起動され、アプリケーションに通知されます。
(注) | このイベントは、拡張バージョン 0x00080000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
特定のコール録音が開始されると、このイベントが起動され、アプリケーションに録音の開始が通知されます。
(注) | このイベントは、拡張バージョン 0x00080000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
特定のコール録音が停止すると、このイベントが起動され、アプリケーションに録音の停止が通知されます。
(注) | このイベントは、拡張バージョン 0x00080000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
録音が開始されてから、別の機能により録音が停止され再開されるときに、録音が再開されない場合、アプリケーションに対して SLDSMT_RECORDING_FAILED メッセージが生成されます。その後で、アプリケーションが録音を再開します。
パラメータの形式は、次のとおりです。
スーパーバイザのセキュリティ機能がエージェントの機能以上でないためにモニタリング セッションが使用できない場合、同様のことをアプリケーションに通知するためにこのイベントがスーパーバイザに対して発行されます。
(注) | このイベントは、拡張バージョン 0x000A0000 以上がネゴシエートされた場合のみ起動可能です。 |
このイベントでは、エージェント グリーティング コールが正常に開始されたことが示されます。
(注) | このイベントは、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
このイベントでは、エージェント グリーティングが終了したことが示されます。
(注) | このイベントは、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
このイベントでは、アプリケーションが既存の SetRTP デバイス固有拡張を使用して、RTP ポートおよび IP 情報を設定したことが示されます。アプリケーションは RTP 情報を、動的に登録された CTI ポートまたはルート ポイント、および静的に登録された CTI ポートにだけ設定し、登録に使用するポートを開きます。
(注) | このイベントは、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
MultiMediaStreams データ情報がコール上で変更されると、SLDSMT_MULTIMEDIA_STREAMSDATA メッセージがアプリケーションに送信されます。
パラメータの形式は、次のとおりです。
LINE_DEVSPECIFIC
hDevice:TAPI コール ハンドル
dwParam1:SLDSMT_MULTIMEDIA_STREAMSDATA
dwParam2:未使用
dwParam3:未使用
このイベントは、モニタリング モードは、dwParam1 の値が正常に更新され、アクティブなスーパーバイザおよびエージェントの回線に送信されることを示します。
(注) | このイベントは、拡張バージョン 0x000B0000 またはそれ以上がネゴシエートされた場合のみ起動できます。 |
dwParam1:メッセージ タイプ:SLDSMT_MONITORING_MODE_UPDATED
dwParam2:モニタリング モード
enum { MonitorMode_Silent = 1, MonitorMode_Whisper = 2, MonitorMode_Active = 3 // 現在使用されていない } MonitorMode;