This document was generated from CDN thread Created by: Frederic Paquet on 16-10-2009 02:38:43 PM Hi,Regarding the ClientID and ClientPassword in the OPEN_REQ message, it is true that these fields are not used by the CTI Server to authenticate the application (yet) ?So, can we put anything in these fields?Subject: RE: ClientID and ClientPassword in OPEN_REQ message Replied by: Petrus Buiquy on 02-07-2013 03:38:59 PMFrederic Paquet:
Hi,
Regarding the ClientID and ClientPassword in the OPEN_REQ message, it is true that these fields are not used by the CTI Server to authenticate the application (yet) ?
So, can we put anything in these fields?
I'd like to know about this too. And in what context will this "ClientId' be used? Thanks.Subject: RE: New Message from Petrus Buiquy in CTI Server Protocol (GED-188) - CTI S Replied by: David Lender on 02-07-2013 04:38:57 PMYes you can put anything. Password is ignored.Subject: RE: New Message from Petrus Buiquy in CTI Server Protocol (GED-188) - CTI S Replied by: Dale Gantous on 30-07-2013 10:01:29 AMDavid Lender:
Yes you can put anything. Password is ignored.
Username/password is not really required for OPEN_REQ? Then where is the security here? It seems that anyone on the network can write a client (or use CTITest) and control agents/phones?Subject: RE: New Message from Dale Gantous in CTI Server Protocol (GED-188) - CTI Se Replied by: David Lender on 30-07-2013 10:04:10 AMCorrect.Subject: RE: ClientID and ClientPassword in OPEN_REQ message Replied by: simon atkins on 30-08-2013 08:13:55 AMI'm sending an open-req message which is being received by the message is ignored with the error:Invalid Enterprise CTI message received from session 14 (new client at (10.x,y,z:51668)), type OPEN_REQ, error E_CTI_INVALID_TAG_FOR_MSG_TYPE, field AgentPassword. I'm not aware of any field called AgentPassword in an open_req messageany ideas greatly appreciatedSimonSubject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: David Lender on 30-08-2013 09:00:21 AMPost a snippet of your CTI Server log showing the OPEN_REQ received. It may be that you have the wrong tag set for one of the fields in the OPEN_REQ.Subject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: simon atkins on 02-09-2013 06:29:39 AMMany thanks for responding. Sure ok : 1
2Dim byteData As New List(Of Byte())
3'FIXED
4byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(3))) 'open_req
5byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(createNewInvokeID())))
6byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(13))) 'protocol
7byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(30))) 'idle timeout
8byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(1))) 'peripheral ID
9byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(10))) 'services requested
10byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(&Hfffffff))) 'callmask
11byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(0))) 'agent mask
12byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(0))) 'config mask
13byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(0))) 'reserved 1
14byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(0))) 'reserved 2
15byteData.Add(BitConverter.GetBytes(Net.IPAddress.HostToNetworkOrder(0))) 'reserved 3
16
17'FLOATING
18byteData.Add(Encoding.ASCII.GetBytes("14test")) 'tag 1=Client_ID, 4 bytes, password=test
19byteData.Add(Encoding.ASCII.GetBytes("24test")) 'tag 2=Client Password, 4 bytes, password=test
20
21I'm only insterested in all call events hence agent and config mask is 0
22The Server Log Side looks like this:12:18:49:571 unknown-ctisvr Invalid Enterprise CTI message received from session 10 (new client at (10.x.y.z:54414)), type OPEN_REQ, error E_CTI_INVALID_TAG_FOR_MSG_TYPE, field AgentPassword.
23
2412:18:49:571 unknown-ctisvr Trace: #################################################
2512:18:49:571 unknown-ctisvr Trace: ###!!!Invalid Message INGORE and CONTINUE !!!###
2612:18:49:571 unknown-ctisvr Trace: #################################################
2712:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 38 00 00 00 03 00 00 00 64 00 00 00 0d | ...8.......d....
2812:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 1e 00 00 00 01 00 00 00 0a 0f ff ff ff | ................
2912:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
3012:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 00 31 34 74 65 73 74 32 34 74 65 73 74 | ....14test24test
thanksSimonSubject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: simon atkins on 03-09-2013 06:01:24 AMI've spent several more hours trying all sorts of things with this open_req message, but must admit I find CISCO CTI utterly baffling - and I've spent more years than I care to remember coding CTI across many platforms and have even created my own complete enterprise SIP Contact Centre.It just doesn't make sense that it's giving me an error for a tag that doesn't even exist in this message set.Does anyone have a working OPEN_REQ/OPEN_CONF connection?thanks and rgdsSimonSubject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: Sergei Novitsky on 03-09-2013 08:42:52 AMHi Simon, The ClientPassword is definitely in the OPEN_REQ (although as David pointed out, it is not being validated so it could contain any data). Here is how ClientID and ClientPassword are being set in the msclient sample app: CRS_CHAR client_id[MAX_SIZE_CLIENT_ID]; CRS_UNSPEC client_password; CRS_CHAR agent_id[MAX_SIZE_AGENT_ID]; strcpy(client_id, "TestApp1"); client_password.n = 3; client_password.data[0] = 'x'; client_password.data[1] = 'x'; client_password.data[2] = 'x'; Obviously, you need to make sure other elements of the message are packaged and sent out correctly + the CTI Server is functional. As a first step, make sure the sample app runs in your environment as expected.
Subject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: David Lender on 03-09-2013 12:04:58 PMI looked at your OPEN_REQ2712:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 38 00 00 00 03 00 00 00 64 00 00 00 0d | ...8.......d....2812:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 1e 00 00 00 01 00 00 00 0a 0f ff ff ff | ................2912:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................3012:18:49:571 unknown-ctisvr SESSION 10: 00 00 00 00 31 34 74 65 73 74 32 34 74 65 73 74 | ....14test24testThe first 8 bytes are length 56 and message type = 3InvokeID x64Version Number x0d = 13Idle timeout = 1e = 30PeripheralID = 01 = 1 (is this the right peripheral ID?)Services Requested = 0a = 10Call Message mask = 0f ff ff ffAgent State mask = 00 00 00 00Config Message mask 00 00 00 00Reserved 00 00 00 00Reserved 00 00 00 00Reserved 00 00 00 00Tag 31 = 49 = agent password tagLength 34?Looks to me like your floating tag and length fields are not correct. You are using char ‘1’ (31) instead of an int value of 1.Subject: RE: New Message from simon atkins in CTI Server Protocol (GED-188) - CTI Se Replied by: simon atkins on 03-09-2013 01:06:21 PMDavid, Many thanks - ascii/byte conversion problem. Looks like I'm on my way now.cheersSimon