I have a vendor-provided VoIP contact center application. There is a softphone installed on the local PC which communicates with a CTI server application. The CTI server is accessed via a constant IP address and port. The port used on the local PC is dynamically assigned.
Using Wireshark, I have documented all of the XML command/responses that occur between the softphone and the CTI application. What I am trying to do is to reverse-engineer a passive API that sits on the local PC and monitors this softphone-CTI server traffic. I intend to use this information to record events and drive activities in our CRM application.
I've created a vb.net application that can monitor a port and capture the activity. The problem is that although I am communicating to the CTI application using a fixed server port, the local TCP port is dynamic, so I don't know which port to listen to. It is this local port that initiates the conversation.
Is there a way to passively monitor all active ports for traffic going TO a specific IP/port and then use that to determine which local port to monitor for outgoing/incoming traffic?