physicalDeviceFeature events are Terminal-based events. They do not relate to the Station or the call. They relate to the DMCC terminal. The softphone is one terminal at the station's address and your DMCC terminal will be a separate terminal at the same address (it's a bit like how you can have a deskphone and softphone at the same number). There will be some subtle differences between your DMCC terminal and the softphone, but overall, your terminal will get events that reflect what is happening at the softphone. There should be information on this in the DMCC Programmers Guide.
So, in order to get these events, you must register a DMCC terminal. For example:
The order of business is:
1. StartApplicationSession (once)
2. Get Device ID (once per station)
3. Start Monitors (once per monitor, per station)
4. Register Terminal (once per station)
There are a couple of things worth noting from the example:
1, dependencyMode is DEPENDENT. This is because I just want to monitor an existing phone/softphone. If the application is going to act as a softphone, I would use MAIN.
2. mediaMode is CLIENT. This means that CM will deliver media to my port (10.1.13.242:4726) whenever 50503 is in a call. If I do not want media, I would set this to NONE.
So, in order to get these events, you must register a DMCC terminal. For example:
Code:
Sending WTI request to AES using direct method: RegisterTerminalRequest { "loginInfo": { "sharedControl": false, "password": 1234, "forceLogin": true, "mediaMode": "CLIENT", "dependencyMode": "DEPENDENT" }, "device": "50503:CM181:0.0.0.0:8", "localMediaInfo": { "encryptionList": "none", "codecs": "g711U", "packetSize": 20, "rtpAddress": { "address": "10.1.13.242", "port": 4726 }, "rtcpAddress": { "address": "10.1.13.242", "port": 4727 } } }
1. StartApplicationSession (once)
2. Get Device ID (once per station)
3. Start Monitors (once per monitor, per station)
4. Register Terminal (once per station)
There are a couple of things worth noting from the example:
1, dependencyMode is DEPENDENT. This is because I just want to monitor an existing phone/softphone. If the application is going to act as a softphone, I would use MAIN.
2. mediaMode is CLIENT. This means that CM will deliver media to my port (10.1.13.242:4726) whenever 50503 is in a call. If I do not want media, I would set this to NONE.
Comment