05-25-2017 09:58 AM
I have added address/call/terminal observers successfully to monitor calls and I receive
RTP started/stopped events successfully for audio streams. However, when I use a phone with video
capabilities which has booth voice and video, I am still only receiving the RTP events for the
audio portion.
How do I enable notifications for video as well?
Thanks,
Andrew
05-25-2017 10:07 AM
Andrew,
You need to turn on the terminal filter preferably before adding the terminal observer. Check setMultiMediaStreamsInfoEvFilter(true) interface in CiscoTermEvFiler. Cisco JTAPI Java Doc or developer guide will have more info.
After turning on this filter, application should start seeing CiscoMultiMediaStreamsInfoEv which has all the info. HTH
05-26-2017 02:12 PM
Hi Mohan,
Not sure what I am doing wrong but I am not receiving this event. Assuming I will receive the event
as part of the terminalChangedEvent handler. Do I need to enable anything special for the application?
I looked and did not see anything obvious. In my setup I have Standard CTI enabled, Allow call monitoring and
allow control of all devices.
Thanks for the help,
Andrew
05-26-2017 05:41 PM
Hi Andrew,
Are you seeing video on the phone? i don't think there is any other config required for this other than the filter. JTAPI log might give some clues. Can you attach JTAPI logs from the app start time?
05-30-2017 09:43 AM
Hi Mohan,
I do see video on the phones. I enabled everything and the log file is about 5000 lines long. I don't see a way to attach a file. Is there any portion(s) in particular that I can paste for you to look at?
I am expecting to receive the event as part of the terminal observer which I have declared as extending CiscoTerminalObserver. I also have code to handle the event under the call observer which extends CallObserver CallControlCallObserver and MediaCallObserver.
Thanks,
Andrew
05-30-2017 10:24 AM
When you add observer on the Terminal, you will see a DeviceOpenRequest to CTIManager and it contains a list of flags. Make sure that MultiMedia filter (bMultiMediaStreamsInfo) is turned on.
When video is established on phone, we should see MultiMediaStreamsInfoEvent in the logs.
You should find these in JTAPI logs if tracing is set to detailed level.
05-30-2017 12:17 PM
Hi Mohan,
I do see the following line for the two devices' open requests:
252: May 30 13:52:52.995 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) [main] sending: com.cisco.cti.protocol.DeviceOpenRequest {
sequenceNumber = 8
deviceName = SEPCCEF488D4DBC
filter = com.cisco.cti.protocol.DeviceEventFilter {
deviceModeChanged = false
keyPressed = false
featureButtonPressed = false
lampModeChanged = false
ringModeChanged = false
displayChanged = false
startTransmission = true
stopTransmission = true
startReception = true
stopReception = true
softKeyPressed = false
openLogicalChannel = false
deviceData = false
mediaResourceAllocated = false
mediaResourceDeallocated = false
mediaResourceUpdated = false
mediaConnectionAdded = false
mediaConnectionRemoved = false
mediaResourceExisting = false
existingMediaResourcesCompleted = false
snapshot = false
receptionKey = false
transmissionKey = false
deviceIdleState = false
deviceActiveState = false
deviceAlertingState = false
deviceHoldState = false
deviceWhisperState = false
bDNDChanged = true
bDNDOptionChanged = false
bOpenMediaIPPortEvent = false
bMultiMediaStreamsInfo = true
}
softkeysApplicationId = 0
}
253: May 30 13:52:52.996 CDT %JTAPI-MISC-7-UNK:ObserverThread(com.nectar.ucd.cti.CtiMain$MyAddressObserver@1389c036) starting up...
254: May 30 13:52:52.996 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) received Response: com.cisco.cti.protocol.DeviceOpenResponse {
sequenceNumber = 8
result = 0
callManagerID = 1
deviceID = 124
}
370: May 30 13:52:53.019 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) [main] sending: com.cisco.cti.protocol.DeviceOpenRequest {
sequenceNumber = 16
deviceName = SEPCCEF488D56B2
filter = com.cisco.cti.protocol.DeviceEventFilter {
deviceModeChanged = false
keyPressed = false
featureButtonPressed = false
lampModeChanged = false
ringModeChanged = false
displayChanged = false
startTransmission = true
stopTransmission = true
startReception = true
stopReception = true
softKeyPressed = false
openLogicalChannel = false
deviceData = false
mediaResourceAllocated = false
mediaResourceDeallocated = false
mediaResourceUpdated = false
mediaConnectionAdded = false
mediaConnectionRemoved = false
mediaResourceExisting = false
existingMediaResourcesCompleted = false
snapshot = false
receptionKey = false
transmissionKey = false
deviceIdleState = false
deviceActiveState = false
deviceAlertingState = false
deviceHoldState = false
deviceWhisperState = false
bDNDChanged = true
bDNDOptionChanged = false
bOpenMediaIPPortEvent = false
bMultiMediaStreamsInfo = true
}
softkeysApplicationId = 0
}
371: May 30 13:52:53.019 CDT %JTAPI-JTAPIIMPL-7-UNK:[com.nectar.ucd.cti.CtiMain$MyTerminalObserver@67ecd78]delivering to terminalChangedEvent
372: May 30 13:52:53.019 CDT %JTAPI-MISC-7-UNK:ObserverThread(com.nectar.ucd.cti.CtiMain$MyAddressObserver@1b1756a4) starting up...
373: May 30 13:52:53.020 CDT %JTAPI-JTAPIIMPL-7-UNK:[com.nectar.ucd.cti.CtiMain$MyTerminalObserver@67ecd78]ObserverProxy.deliverEvents() completed
374: May 30 13:52:53.021 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) received Response: com.cisco.cti.protocol.DeviceOpenResponse {
sequenceNumber = 16
result = 0
callManagerID = 1
deviceID = 128
}
When I make the call I see the RTP Start Events in the log but I do not see the StreamsInfoEv.
905: May 30 14:00:14.418 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) received Event: com.cisco.cti.protocol.StartTransmissionEvent {
eventSequence = 41
deviceCallManagerID = 1
deviceID = 128
callCallManagerID = 1
callLegID = 19804517
ipAddr = 905972746
rtpPortNumber = 22256
milliSecondPacketSize = 20
compressionType = 4
precedenceValue = 136
useSilenceSuppression = false
maxFramesPerPacket = 80
bitRate = 1
mediaDeviceName =
mediaResourceId = 0
mediaConnectionMode = 3
rtpDest_v6 = com.cisco.cti.protocol.RTPDestinationV6 {
ipAddr_v6 = null
rtpPort_v6 = 0
}
activeIpAddressingMode = 0
}
906: May 30 14:00:14.418 CDT %JTAPI-MISC-7-UNK:(P1-192.168.21.119) EventThread: queuing com.cisco.cti.protocol.StartTransmissionEvent
907: May 30 14:00:14.419 CDT %JTAPI-JTAPI-7-UNK:(P1-ucdcti) [SEPCCEF488D4DBC] CiscoRTPInputStartedEv [#64] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:12
I do see an event which indicates both devices have Multimedia Capabilities.
756: May 30 14:00:12.351 CDT %JTAPI-JTAPIIMPL-7-UNK:{(P1-ucdcti) GCID=(1,138)->ACTIVE} CallManager.processCallStateChange:Handling STATE_PROCEEDING for 1004:SFBPartition:1
757: May 30 14:00:12.351 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) received Event: com.cisco.cti.protocol.NewCallEvent {
eventSequence = 31
lineCallManagerID = 1
lineID = 128
lineHandleSpecified = true
deviceName = SEPCCEF488D56B2
callCallManagerID = 1
callLegID = 19804517
globalCallManagerID = 1
callID = 138
callingParty = 1004
calledParty = 1006
originalCalledParty = 1006
state = 2
origin = 1
userData = null
auxiliaryData = 1
farEndpointCallManagerID = 1
farEndpointType = 1
reason = 1
callingPartyName =
calledPartyName = USER 6
originalPartyName = USER 6
lastRedirectingParty =
lastRedirectingPartyName =
callingPartyDeviceName = SEPCCEF488D4DBC
bRemoteInUse = false
parentCallManagerID = 0
parentCallID = 0
bPrivacy = false
mediaDeviceName =
mediaResourceId = 0
unModifiedCallingParty = 1004
unModifiedCalledParty = 1006
unModifiedOriginalCalledParty = 1006
unModifiedLastRedirectingParty =
callingPartyPi = true
callingPartyNamePi = true
calledPartyPi = true
calledPartyNamePi = true
originalCalledPartyPi = true
originalCalledPartyNamePi = true
lastRedirectingPartyPi = true
lastRedirectingPartyNamePi = true
unicodeCallingPartyName = com.cisco.cti.protocol.UnicodeString {
unicodedisplayName =
count = 0
sizeofElement = 2
}
unicodeCalledPartyName = com.cisco.cti.protocol.UnicodeString {
unicodedisplayName = USER 6
count = 6
sizeofElement = 2
}
unicodeOriginalCalledPartyName = com.cisco.cti.protocol.UnicodeString {
unicodedisplayName = USER 6
count = 6
sizeofElement = 2
}
unicodelastRedirectingPartyName = com.cisco.cti.protocol.UnicodeString {
unicodedisplayName =
count = 0
sizeofElement = 2
}
unicodeCallingPartyLocale = 1
unicodeCalledPartyLocale = 1
unicodeOriginalCalledPartyLocale = 1
unicodeLastRedirectingPartyLocale = 1
callingPartyDNInfo = com.cisco.cti.protocol.PartyDNInfo {
sipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
unModifiedsipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
partition = SFBPartition
voiceMailbox =
numberType = 0
}
calledPartyDNInfo = com.cisco.cti.protocol.PartyDNInfo {
sipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
unModifiedsipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
partition =
voiceMailbox =
numberType = 0
}
originalCalledPartyDNInfo = com.cisco.cti.protocol.PartyDNInfo {
sipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
unModifiedsipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
partition =
voiceMailbox =
numberType = 0
}
lastRedirectingPartyDNInfo = com.cisco.cti.protocol.PartyDNInfo {
sipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
unModifiedsipUrl = com.cisco.cti.protocol.SIPUrl {
user =
host =
port = 0
transportTye = 0
urlType = 0
}
partition =
voiceMailbox =
numberType = 0
}
ctiCallType = 0
callingPartyIpAddr = 905972746
farEndLineIdDN = 1004
farEndLineIdPartition = SFBPartition
callPresentable = true
featurePriority = 1
globalizedCallingParty = 1004
callingPartyIpAddr_v6 = null
callingPartyIpAddressingMode = 0
bIsRolloverCall = false
uniqueProtocolCallReference = 000000000000008A012E316500000000
cgpnHuntMemberDN =
cgpnHuntMemberPartition =
cgpnPatternUsage = 2
cdpnPatternUsage = 2
callingPartyMultiMediaCapBitMask = 3
calledPartyMultiMediaCapBitMask = 3
callingPartyMultiMediaCapabilityInfo = com.cisco.cti.protocol.DeviceMultiMediaCapability {
videoCapability = 1
telepresenceInfo = 0
screenCount = 0
}
calledPartyMultiMediaCapabilityInfo = com.cisco.cti.protocol.DeviceMultiMediaCapability {
videoCapability = 1
telepresenceInfo = 0
screenCount = 0
}
}
758: May 30 14:00:12.351 CDT %JTAPI-MISC-7-UNK:(P1-192.168.21.119) EventThread: queuing com.cisco.cti.protocol.NewCallEvent
759: May 30 14:00:12.351 CDT %JTAPI-JTAPIIMPL-7-UNK: ProviderImpl.findExternalAddress creating new address for 1006 type 4
760: May 30 14:00:12.352 CDT %JTAPI-JTAPI-7-UNK:Adding reference to external addresses 1006 in partition addrType 4 in hashtable
761: May 30 14:00:12.352 CDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.21.119) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
Thanks,
Andrew
07-07-2017 06:12 AM
Just want to respond to this thread to what the issue was. In my case, the video phone was configured with SCCP protocol.
I saw a note in the developer guide that the phone needed to be SIP mode. I migrated the phone and now I get the
events.
Thanks for all the help,
Andrew
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide