class CLMgrMessage(): CLMgrLineStateChangedMessage = 0 # state of at least one line has changed CLMgrLineSelectionChangedMessage = 1 # line in focus has changed CLMgrLineDetailsChangedMessage = 2 # details of at least one line have changed CLMgrCallDetailsMessage = 4 # details of last call are available, post mortem for logging purpose CLMgrServerDownMessage = 5 # server goes down, keep line manager, wait for ServerUp message CLMgrServerUpMessage = 6 # server is up again, keep interfaces to line manger CLMgrWaveDeviceChanged = 7 # speaker / micro has been switched on / off CLMgrGroupCallNotificationMessage = 8 # notification about group call CLMgrNumberOfLinesChangedMessage = 10 # the number of lines has changed CLMgrClientShutDownRequest = 11 # Client Line Manager requests client to shutdown and release all interfaces CLMgrLineStateChangedMessageEx = 28 # state of certain line has changed, lParam: LOWORD: line index of line that changed its state (starting with 0) HIWORD: new state of this line s = [ "CLMgrLineStateChangedMessage", "CLMgrLineSelectionChangedMessage", "CLMgrLineDetailsChangedMessage", "3", "CLMgrCallDetailsMessage", "CLMgrServerDownMessage", "CLMgrServerUpMessage", "CLMgrWaveDeviceChanged", "CLMgrGroupCallNotificationMessage", "9", "CLMgrNumberOfLinesChangedMessage", "CLMgrClientShutDownRequest", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "CLMgrLineStateChangedMessageEx" ] class LineState(): Inactive = 0 # line is inactive HookOffInternal = 1 # off hook, internal dialtone HookOffExternal = 2 # off hook, external dialtone Ringing = 3 # incoming call, ringing Dialing = 4 # outgoing call, we are dialing, no sound Alerting = 5 # outgoing call, alerting = ringing on destination Knocking = 6 # outgoing call, knocking = second call ringing on destination Busy = 7 # outgoing call, destination is busy Active = 8 # incoming / outgoing call, logical and physical connection is established OnHold = 9 # incoming / outgoing call, logical connection is established, destination gets music on hold ConferenceActive = 10 # incoming / outgoing conference, logical and physical connection is established ConferenceOnHold = 11 # incoming / outgoing conference, logical connection is established, not physcically connected Terminated = 12 # incoming / outgoing connection / call has been disconnected Transferring = 13 # special LSOnHold, call is awaiting to be transferred, peer gets special music on hold Disabled = 14 # special LSInactive: wrap up time s = [ "Inactive", "HookOffInternal", "HookOffExternal", "Ringing", "Dialing", "Alerting", "Knocking", "Busy", "Active", "OnHold", "ConferenceActive", "ConferenceOnHold", "Terminated", "Transferring", "Disabled" ] class DisconnectReason(): Normal = 0 Busy = 1 Rejected = 2 Cancelled = 3 Transferred = 4 JoinedConference = 5 NoAnswer = 6 TooLate = 7 DirectCallImpossible = 8 WrongNumber = 9 Unreachable = 10 CallDiverted = 11 CallRoutingFailed = 12 PermissionDenied = 13 NetworkCongestion = 14 NoChannelAvailable = 15 NumberChanged = 16 IncompatibleDestination = 17