SwyxIt! Client SDK 14.20
Loading...
Searching...
No Matches
IClientLineMgrPub Interface Reference

import "CLMgrPub.idl";

Inheritance diagram for IClientLineMgrPub:

Public Member Functions

HRESULT PubInit ([in] BSTR ServerName)
 
HRESULT PubRegisterUser ([in] BSTR UserName, [out] long *pUserId)
 
HRESULT PubReleaseUser ([in] long UserId)
 
HRESULT PubGetNumberOfLines ([out] long *pNumberOfLines)
 
HRESULT PubSetNumberOfLines ([in] long NumberOfLines)
 
HRESULT PubGetLine ([in] long iLineNumber, [out] IClientLinePub **ppIClientLinePub)
 
HRESULT PubGetSelectedLineNumber ([out] long *piLineNumber)
 
HRESULT PubSelectLineNumber ([in] long iLineNumber)
 
HRESULT PubGetSelectedLine ([out] IClientLinePub **ppIClientLine)
 
HRESULT PubSelectLine ([in] IClientLinePub *pIClientLine)
 
HRESULT PubSwitchToLineNumber ([in] long iLineNumber)
 
HRESULT PubSwitchToLine ([in] IClientLinePub *pIClientLine)
 
HRESULT PubGetMicroEnabled ([out] BOOL *pbEnabled)
 
HRESULT PubSetMicroEnabled ([in] BOOL bEnabled)
 
HRESULT PubGetSpeakerEnabled ([out] BOOL *pbEnabled)
 
HRESULT PubSetSpeakerEnabled ([in] BOOL bEnabled)
 
HRESULT PubRegisterMessageTarget ([in] long hWnd, [in] long dwThreadId)
 
HRESULT PubUnRegisterMessageTarget ([in] long hWnd, [in] long dwThreadId)
 
HRESULT PubPickupGroupNotificationCall ([in] long LineNumber)
 
HRESULT PubGetGroupNotificationDetails ([out] PubCLMgrGroupNotificationDetails *pDetails)
 
HRESULT PubIsServerUp ([out] BOOL *pIsServerUp)
 
HRESULT PubGetNumberOfExtensions ([out] long *pNumberOfExtensions)
 
HRESULT PubGetExtension ([in] long iIndex, [out] BSTR *pExtension)
 
HRESULT PubGetNumberOfSpeedDials ([out] long *pNumberOfSpeedDials)
 
HRESULT PubGetSpeedDialName ([in] long iIndex, [out] BSTR *pName)
 
HRESULT PubGetSpeedDialNumber ([in] long iIndex, [out] BSTR *pNumber)
 
HRESULT PubGetSpeedDialState ([in] long iIndex, [out] long *pState)
 
HRESULT PubSimpleDial ([in] BSTR dialstring)
 
HRESULT PubResolveNumber ([in] BSTR Number, [out] BSTR *pName)
 
HRESULT PubConvertNumber ([in] DWORD Style, [in] BSTR NumberFrom, [out] BSTR *pNumberTo)
 
HRESULT PubGetDialParams ([out] BSTR *pCountryCode, [out] BSTR *pAreaCode, [out] BSTR *pPublicAccessPrefix, [out] BSTR *pLongDistanceCallPrefix, [out] BSTR *pInternationCallPrefix)
 

Detailed Description

Line manager interface Handles connection to server and selection of lines,

Use this interface from C++ clients

Member Function Documentation

◆ PubConvertNumber()

HRESULT IClientLineMgrPub::PubConvertNumber ( [in] DWORD Style,
[in] BSTR NumberFrom,
[out] BSTR * pNumberTo )

This method will convert a phone number to a different format

requested style:

*     typedef enum
*     {
*         PubCLMgrNumberStyleFull,        //e.g. 0004923147770 or 0023147770
*         PubCLMgrNumberStylePlain,       //e.g. 4923147770 or 23147770
*         PubCLMgrNumberStyleCanonical    //e.g. +49 (231) 47770 or +49 (231) 4777-0
*         PubCLMgrNumberStyleFullPublic   //e.g. 004923147770 or 023147770
*     } PubCLMgrNumberStyle;
* 

Full number: 0023147770 Canonical number: +49 (231) 4777-0 or +49 (231) 47770 (the extension cannot be detected automatically)

◆ PubGetDialParams()

HRESULT IClientLineMgrPub::PubGetDialParams ( [out] BSTR * pCountryCode,
[out] BSTR * pAreaCode,
[out] BSTR * pPublicAccessPrefix,
[out] BSTR * pLongDistanceCallPrefix,
[out] BSTR * pInternationCallPrefix )

This method will return the dial parameters of the PBX

pCountryCode: "49" for Germany, without leading zeros pAreaCode: "231" for Dortmund, without leading zeros pPublicAccessPrefix: e.g. "0" -> a user has to dial "0" for a public line pLongDistanceCallPrefix: e.g. "0" -> a user has to dial "00" (public 0 + long distance 0) for long distance calls pInternationCallPrefix: e.g. "00" -> a user has to dial "000" (public 0 + international 00) for international calls

◆ PubGetExtension()

HRESULT IClientLineMgrPub::PubGetExtension ( [in] long iIndex,
[out] BSTR * pExtension )

Get configured extension with index i

◆ PubGetGroupNotificationDetails()

HRESULT IClientLineMgrPub::PubGetGroupNotificationDetails ( [out] PubCLMgrGroupNotificationDetails * pDetails)

get details of current group notification

◆ PubGetLine()

HRESULT IClientLineMgrPub::PubGetLine ( [in] long iLineNumber,
[out] IClientLinePub ** ppIClientLinePub )

Get interface pointer to specified line object if *ppIClientLinePub==NULL the line is not available

◆ PubGetMicroEnabled()

HRESULT IClientLineMgrPub::PubGetMicroEnabled ( [out] BOOL * pbEnabled)

get / set microphone state

◆ PubGetNumberOfExtensions()

HRESULT IClientLineMgrPub::PubGetNumberOfExtensions ( [out] long * pNumberOfExtensions)

Get number of configured extensions

◆ PubGetNumberOfLines()

HRESULT IClientLineMgrPub::PubGetNumberOfLines ( [out] long * pNumberOfLines)

Get / set number of lines if number of lines is changed, we get message "PubCLMgrNumberOfLinesChangedMessage" PubSetNumberOfLines will only change the number of created lines, the number of configured lines will not be changed

◆ PubGetNumberOfSpeedDials()

HRESULT IClientLineMgrPub::PubGetNumberOfSpeedDials ( [out] long * pNumberOfSpeedDials)

Get number of configured extensions

◆ PubGetSelectedLine()

HRESULT IClientLineMgrPub::PubGetSelectedLine ( [out] IClientLinePub ** ppIClientLine)

get / set selected line by interface pointer the previous selected line will be set to hold / disconnected if it was active or dialing, alerting etc. the afterwards selected line will not be activated or hooked off S_OK -> success S_FALSE -> could not select line (probably because selected line is active and cannot be hold for some reason)

◆ PubGetSelectedLineNumber()

HRESULT IClientLineMgrPub::PubGetSelectedLineNumber ( [out] long * piLineNumber)

get / set selected line by index (first line == 0, ...) the previous selected line will be set to hold / disconnected if it was active or dialing, alerting etc. the afterwards selected line will not be activated or hooked off returns error code S_OK -> success S_FALSE -> could not select line (probably because selected line is active and cannot be hold for some reason)

◆ PubGetSpeakerEnabled()

HRESULT IClientLineMgrPub::PubGetSpeakerEnabled ( [out] BOOL * pbEnabled)

get / set speaker state

◆ PubGetSpeedDialName()

HRESULT IClientLineMgrPub::PubGetSpeedDialName ( [in] long iIndex,
[out] BSTR * pName )

Get speed dial configuration: Name

◆ PubGetSpeedDialNumber()

HRESULT IClientLineMgrPub::PubGetSpeedDialNumber ( [in] long iIndex,
[out] BSTR * pNumber )

Get speed dial configuration: Dialnumber

◆ PubGetSpeedDialState()

HRESULT IClientLineMgrPub::PubGetSpeedDialState ( [in] long iIndex,
[out] long * pState )

Get speed dial notification state speed dial signalling states

* typedef enum
* {
*     PubSDUnknown=0,              //unknown -> external number
*     PubSDLoggedOut,              //known user, not logged on to PBX
*     PubSDLoggedIn,               //known user, logged on to PBX
*     PubSDBusy,                   //known user, client is busy
*     PubSDGroupCallNotification   //known user, that user currently receives a call; notification call
* } PubCLMgrSpeedDialStates;
* 

◆ PubInit()

HRESULT IClientLineMgrPub::PubInit ( [in] BSTR ServerName)

!!! depcreated function! Use IClientLineMgrDisp::RegisterUserEx !!!

◆ PubIsServerUp()

HRESULT IClientLineMgrPub::PubIsServerUp ( [out] BOOL * pIsServerUp)

check whether connection to server is up (again), after we received message "PubCLMgrServerDownMessage" while connection to server is down, this method will try to reconnect immediately Client Line Manager will try reconnect in fixed time interval anyway

◆ PubPickupGroupNotificationCall()

HRESULT IClientLineMgrPub::PubPickupGroupNotificationCall ( [in] long LineNumber)

pickup group call on specified line set line = -1 if line does not matter -> select first inactive line

◆ PubRegisterMessageTarget()

HRESULT IClientLineMgrPub::PubRegisterMessageTarget ( [in] long hWnd,
[in] long dwThreadId )

register thread / window for window messages client line manager will signal events to us by sending windows messages to a given window or thread in order to receive events you need to capture the windows message id as returned by RegisterWindowMessage(_T("WM_LineMgrNotification")); in order to have the messages send to a window, register the window handle in order to have the messages send to a certain thread, register its thread id

possible messages are:

//message parameters for state information from line manager to client, //send as wParam of RegisterWindowMessage(_T("WM_LineMgrNotification")

* typedef enum
* {
*     PubCLMgrLineStateChangedMessage=0,     //state of a line has changed
*                                            //lParam: index of line
*     PubCLMgrLineSelectionChangedMessage,   //line selection has changed, new line in focus
*                                            //lParam: index of now selected line
*     PubCLMgrLineDetailsChangedMessage,     //details of line has changed
*                                            //lParam: index of line
*     PubCLMgrUserDataChangedMessage,        //user configuration has changed
*     PubCLMgrCallDetailsMessage,            //details of last call are available, after disconnect, for logging purpose
*                                            //lParam: index of line
*     PubCLMgrServerDownMessage,             //server is down, will be rebooted, ...
*                                            //-> keep interfaces to line manager, wait for ServerUp message
*     PubCLMgrServerUpMessage,               //server is up again -> keep interfaces to line manger
*     PubCLMgrWaveDeviceChanged,             //speaker and / or micro has been switched on or off
*                                            //lParam: 0:no problem
*                                            //lParam: 1:there was an error, could not enable micro or speaker
*     PubCLMgrGroupCallNotificationMessage,  //notification about signaled call we could pick up now
*                                            //lParam: 1:signaled call available
*                                            //lParam: 0:signaled call not available / no longer available
*     PubCLMgrNameKeyStateChangedMessage,    //notification about changed namekey state
*                                            //lParam: index of namekey that has new state
*     PubCLMgrNumberOfLinesChangedMessage,   //the number of lines has changed
*                                            //lParam: new number of lines
*     PubCLMgrClientShutDownRequest,         //Client Line Manager requests client to shutdown and release all interfaces
*     PubCLMgrPowerSuspendMessage,           //client machine goes to hibernate or suspend mode
*                                            //-> keep interfaces to line manager, wait for PowerResume message
*     PubCLMgrPowerResumeMessage,            //client machine has returned from suspend mode -> keep interfaces to line manager
*     PubCLMgrHandsetStateChangedMessage,    //state of handset has changed
*                                            //lParam: new handset state 0 = on hook, 1 = off hook
*     PubCLMgrCallbackOnBusyNotification,    //informing clients about available callback on busy
*     PubCLMgrAsyncErrorMessage              //error message for reporting problems that occured within state machine / were reported by server
*                                            //lParam will contain the error code
* } PubCLMgrMessages;
* 

◆ PubRegisterUser()

HRESULT IClientLineMgrPub::PubRegisterUser ( [in] BSTR UserName,
[out] long * pUserId )

!!! depcreated function! Use IClientLineMgrDisp::RegisterUserEx !!!

◆ PubReleaseUser()

HRESULT IClientLineMgrPub::PubReleaseUser ( [in] long UserId)

!!! depcreated function! Use IClientLineMgrDisp::ReleaseUserEx !!!

◆ PubResolveNumber()

HRESULT IClientLineMgrPub::PubResolveNumber ( [in] BSTR Number,
[out] BSTR * pName )

This method will resolve a phone number to a name

Input: Number Output: Name. If the number can be resolved, *pName is the resolved name and the HRESULT is S_OK. If the number cannot be resolved, *pName is set to NULL and the HRESULT is S_FALSE. If Number is NULL or pName is NULL, HRESULT will be E_INVALIDARG

◆ PubSelectLine()

HRESULT IClientLineMgrPub::PubSelectLine ( [in] IClientLinePub * pIClientLine)

◆ PubSelectLineNumber()

HRESULT IClientLineMgrPub::PubSelectLineNumber ( [in] long iLineNumber)

◆ PubSetMicroEnabled()

HRESULT IClientLineMgrPub::PubSetMicroEnabled ( [in] BOOL bEnabled)

◆ PubSetNumberOfLines()

HRESULT IClientLineMgrPub::PubSetNumberOfLines ( [in] long NumberOfLines)

◆ PubSetSpeakerEnabled()

HRESULT IClientLineMgrPub::PubSetSpeakerEnabled ( [in] BOOL bEnabled)

◆ PubSimpleDial()

HRESULT IClientLineMgrPub::PubSimpleDial ( [in] BSTR dialstring)

dial given dialstring on any free line If selected line is active, an inactive line will be selected automatically before dialing function call will be handled asynchronous, return code S_OK does not guarantee success

◆ PubSwitchToLine()

HRESULT IClientLineMgrPub::PubSwitchToLine ( [in] IClientLinePub * pIClientLine)

switch to line the previous selected line will be set to hold / disconnected if it was active or dialing, alerting etc. after a short timeout the afterwards selected line will -> be activated if currently on hold -> pickup incoming call if ringing -> hook off if currently inactive / terminated returns error code S_OK -> success S_FALSE -> could not select line (probably because selected line is active and cannot be hold for some reason)

◆ PubSwitchToLineNumber()

HRESULT IClientLineMgrPub::PubSwitchToLineNumber ( [in] long iLineNumber)

switch to line the previous selected line will be set to hold / disconnected if it was active or dialing, alerting etc. after a short timeout the afterwards selected line will -> be activated if currently on hold -> pickup incoming call if ringing -> hook off if currently inactive / terminated returns error code S_OK -> success S_FALSE -> could not select line (probably because selected line is active and cannot be hold for some reason)

◆ PubUnRegisterMessageTarget()

HRESULT IClientLineMgrPub::PubUnRegisterMessageTarget ( [in] long hWnd,
[in] long dwThreadId )

unregister thread / window for window messages


The documentation for this interface was generated from the following file: