Hi, all,
how are you?
I have been trying to understand how softphone is talking to T-Server, and I found some irregularities in ActiveX protocol that I was hoping someone could help me with:
first of all, here is EventRegistered Event as we see it in T-Server log:
[color=Green]AttributeCustomerID 'Resources'[/color]
[color=Blue]AttributeTimeinuSecs 828000[/color]
[color=Maroon]AttributeTimeinSecs 1155612873 (12:34:33) [/color]
[color=Black]AttributeAddressType 2[/color]
[color=Maroon]AttributeExtensions [50] 00 03 01 00..
'AgentStatus' 3
'queue-1' '0'
'status' 0[/color]
[color=Blue]AttributeAgentID '11002'[/color]
[color=Brown]AttributeReferenceID 2[/color]
[color=Red]AttributeThisDN '612'[/color]
Here is the hex message that actually Genesys ActiveX sends to T-Server:
0 0 0 88 8 0 0 0 (EventRegistered -> ) 35 [color=Green]0 0 0 4C 73 0 9 52 65 73 6F 75 72 63 65 73[/color][color=Maroon] 0 0 0 57 69 0 C A2 60 0 0 0 56 69 44 E1 40 C9[/color] [color=Black]0 0 0 2F 69 0 0 0 2 0 0[/color] [color=Maroon]0 35 62 0 34 0 3 1 0 B 41 67 65 6E 74 53 74 61 74 75 73 0 4 0 0 0 3 0 0 7 71 75 65 75 65 2D 31 0 1 30 1 0 6 73 74 61 74 75 73 0 4 0 0 0[/color][color=Blue] 0 0 0 0 E 73 0 5 31 31 30 30 32[/color] [color=Brown]0 0 0 2 69 0 0 0 2[/color] [color=Red]0 0 0 14 73 0 3 36 31 32 [/color]
It seems like it is very similar to normal ATM transmission (or any other commnications protocol). The normal structure seems to be:
element id (4 bytes -- maybe 4, or it can be 2 or even one - we are not sure yet ) + 73 (or some other 1 bytes value) + length of payload (2 bytes) + payload (length in bytes as shown in length ) or something close to it.
Of course, we all know that this is TEvent encapsulated inside some sort of bigger structure (TMessage?) and is serialized, so, supposedly, we would be able to get the whole data by dropping a few bytes in the beginning and copying it into TEvent structure... There is User-Data which is dynamically allocated, but overall, I don't see why it would not work. Yet, no matter how much I try, I cannot get TEvent to be populated. Can someone please tell me why?
Vic