cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1651
Views
2
Helpful
7
Replies

How to get notification of RTP streams

aklassen
Level 1
Level 1

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

7 Replies 7

mpotluri
Level 5
Level 5

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

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

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?

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

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.

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

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