cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

ClientID and ClientPassword in OPEN_REQ message

509
Views
0
Helpful
0
Comments
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 PM
Frederic 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 PM
Yes 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 AM
David 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 AM
Correct.

Subject: RE: ClientID and ClientPassword in OPEN_REQ message
Replied by: simon atkins on 30-08-2013 08:13:55 AM
I'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 message
any ideas greatly appreciated
Simon

Subject: 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 AM
Post 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 AM
Many 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

thanks
Simon

Subject: 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 AM
I'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 rgds
Simon

Subject: 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 AM
Hi 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 PM
I looked at your OPEN_REQ

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


The first 8 bytes are length 56 and message type = 3
InvokeID x64
Version Number x0d = 13
Idle timeout = 1e = 30
PeripheralID = 01 = 1  (is this the right peripheral ID?)
Services Requested = 0a = 10
Call Message mask = 0f ff ff ff
Agent State mask = 00 00 00 00
Config Message mask 00 00 00 00
Reserved 00 00 00 00
Reserved 00 00 00 00
Reserved 00 00 00 00
Tag 31 = 49 = agent password tag
Length 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 PM
David, Many thanks - ascii/byte conversion problem. Looks like I'm on my way now.
cheers
Simon
CreatePlease to create content