Dear List, I'm trying to connect a GnuGk to a Cisco VCS Expressway as traversal client using a sligthly adopted version of the example configuration in the manual (http://www.gnugk.org/gnugk-manual-10.html). Unfortunately, the GnuGk is unable to register at the Cisco VCS. I have done a detailed analysis of that behaviour: As expected, the GnuGk sends a H.225 SCI to the VCS Expresway. A packet decoding with Wireshark looks as follows: Frame 12: 101 bytes on wire (808 bits), 101 bytes captured (808 bits) Ethernet II, Src: CadmusCo_xx:22:xx (08:22:27:xx:22:xx), Dst: Cisco_xx:78:xx (c4:7d:4f:xx:78:xx) Internet Protocol Version 4, Src: 192.168.77.72 (192.168.77.72), Dst: xx.15.130.112 (xx.15.130.112) User Datagram Protocol, Src Port: h323gatestat (1719), Dst Port: backup-express (6123) H.225.0 RAS RasMessage: serviceControlIndication (30) serviceControlIndication requestSeqNum: 1 serviceControl: 1 item Item 0 ServiceControlSession sessionId: 0 reason: open (0) open: NULL cryptoTokens: 1 item Item 0 CryptoH323Token: cryptoGKPwdHash (1) cryptoGKPwdHash gatekeeperId: test timeStamp: Jan 7, 2013 21:06:34.000000000 CET token algorithmOID: 1.2.840.113549.2.5 (md5) paramS hash: 3101089b79e22f2609507fbcb2174772 [bit length 128] featureSet .... 0... replacementFeatureSet: False supportedFeatures: 1 item Item 0: Signalling Traversal FeatureDescriptor id: standard (0) standard: 18 - Signalling Traversal The VCS Answers (Ethernet/IP/UDP headers ommitted) H.225.0 RAS RasMessage: serviceControlResponse (31) serviceControlResponse requestSeqNum: 1 result: failed (1) failed: NULL To compare that with a working configuration, I registered another Cisco VCS as traversal client and have again decoded a packet dump of the registration with wireshark: H.225.0 RAS RasMessage: serviceControlIndication (30) serviceControlIndication requestSeqNum: 57923 serviceControl: 1 item Item 0 ServiceControlSession sessionId: 0 reason: open (0) open: NULL cryptoTokens: 1 item Item 0 CryptoH323Token: cryptoGKPwdHash (1) cryptoGKPwdHash gatekeeperId: test timeStamp: Jan 8, 2013 12:24:40.000000000 CET token algorithmOID: 1.2.840.113549.2.5 (md5) paramS hash: 54a3c3fe4fa909743b38bd940b882ed4 [bit length 128] featureSet .... 0... replacementFeatureSet: False supportedFeatures: 1 item Item 0: Signalling Traversal FeatureDescriptor id: standard (0) standard: 18 - Signalling Traversal which leads to a successful registration: H.225.0 RAS RasMessage: serviceControlResponse (31) serviceControlResponse requestSeqNum: 57923 result: started (0) started: NULL featureSet 0... .... replacementFeatureSet: False supportedFeatures: 1 item Item 0: Signalling Traversal FeatureDescriptor id: standard (0) standard: 18 - Signalling Traversal genericData: 2 items Item 0: Signalling Traversal GenericData id: standard (0) standard: 18 - Signalling Traversal parameters: 1 item Item 1 GenericData id: nonStandard (2) nonStandard: c2f2d2a2-1527-11dd-a123-0fc456d89593 parameters: 1 item Time is synchronized by ntp on the VCS and the GnuGk. The time is the same on the Expressway and the GnuGk-Host In the packet dump, I see only three differences from which I only see two of them as a 1) requestSeqNum is appearantly random on the VCS and 1 on the GnuGk. A randomly chosen requestSeqNum makes IP spoofing much more difficult, so that may be a security measurement of the VCS to reject messages using 1 as sequence number. It should be fairly easy to exchange the 1 with some unpredictable random number though (maybe using openssls RAND_* funktions?). Unfortunately, GnuGk is real C++ code which is not one of the languages i'm able to write. 2) The timestamp differs Which is not surprising as the snapshots where taken at different time. That one is obvious and should not be a source of the problem 3) The hash differs. That is as well obvious, as the timestamp is part of the hash. However, I was not able to figure out how that hash is created exactly so i could not verify wether the hash is created equally on both systems. (In particular, my C++ is not good enough to identify the correct part of the code in GnuGk and I have either not found or not understood how to create that hash correctly in the standard. Any pointer to a reasonably simple to understand description would be appreciated.) Have I missed something? Any Ideas? Thanks in advance, Immo ------------------------------------------------------------------------------ Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS and more. Get SQL Server skills now (including 2012) with LearnDevNow - 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only - learn more at: http://p.sf.net/sfu/learnmore_122512 _______________________________________________________ Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=openh323gk-users Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users Homepage: http://www.gnugk.org/