Hi, I've got a small test network setup with a parent GnuGk, and 2 child GnuGks. I've upgraded the parent and one of the children to 3.2 and I'm trying to get additive registrations to work on the two upgraded systems. I'm going to ignore the other child that is still running 3.1 for now. Basically, an endpoint behind the child, 6820, tries registering with the child, which sends the registration to the parent, at which point, the parent GnuGk crashes. Each of the two GnuGk instances is straddling a NAT. Here is a crude representation of the network setup: endpoint(6820)[172.22.0.100] -------- [172.22.0.10]GnuGk-Child[10.111.0.4] -------- [10.111.0.1]GnuGk-Parent[192.168.217.119] I'd appreciate any help in getting this setup to work. Last lines of logging (Trace 5) on the parent before it dies: ----------------------------------------------------------------------------- 2013/02/21 18:08:00.855 4 RasSrv.cxx(241) RAS Receiving on 10.111.0.1:1719(U) 2013/02/21 18:08:00.856 2 RasSrv.cxx(176) RAS Read from 10.111.0.4:1719 2013/02/21 18:08:00.856 3 RasSrv.cxx(250) RAS registrationRequest { requestSeqNum = 4 protocolIdentifier = 0.0.8.2250.0.2 nonStandardData = { nonStandardIdentifier = h221NonStandard { t35CountryCode = 138 t35Extension = 2 manufacturerCode = 2 } data = 13 octets { 49 50 3d 31 30 2e 31 31 31 2e 30 2e 34 IP=10.111.0.4 } } discoveryComplete = true callSignalAddress = 1 entries { [0]=ipAddress { ip = 4 octets { 0a 6f 00 04 .o.. } port = 1720 } } rasAddress = 1 entries { [0]=ipAddress { ip = 4 octets { 0a 6f 00 04 .o.. } port = 1719 } } terminalType = { mc = false undefinedNode = false } terminalAlias = 2 entries { [0]=dialedDigits "6820" [1]=h323_ID 9 characters { 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 0030 0 } } gatekeeperIdentifier = 11 characters { 004d 0061 0067 006f 0072 0048 0033 0032 MagorH32 0033 0047 004b 3GK } endpointVendor = { vendor = { t35CountryCode = 0 t35Extension = 0 manufacturerCode = 0 } } keepAlive = true endpointIdentifier = 9 characters { 0032 0036 0038 0039 005f 0065 006e 0064 2689_end 0070 p } willSupplyUUIEs = false maintainConnection = false additiveRegistration = <<null>> supportsAltGK = <<null>> supportsAssignedGK = false } 2013/02/21 18:08:00.856 5 job.cxx(338) JOB Worker threads: 7 total - 6 busy, 1 idle 2013/02/21 18:08:00.856 5 job.cxx(180) JOB Starting Job RRQ at Worker thread 140337482516224 2013/02/21 18:08:00.856 1 RasSrv.cxx(381) RAS RRQ Received from 10.111.0.4:1719 2013/02/21 18:08:00.856 0 assert.cxx(112) PWLib Assertion fail: Invalid array element, file /root/ptlib/include/ptlib/array.h, line 1063 Log (Trace 3) from the child when it receives the RRQ from the endpoint behind it, and sends it to the parent: -------------------------------------------------------------------------------------------------------------------------------------------------- 2013/02/21 18:08:00.854 2 RasSrv.cxx(176) RAS Read from 172.22.0.100:1719 2013/02/21 18:08:00.854 3 RasSrv.cxx(250) RAS registrationRequest { requestSeqNum = 42361 protocolIdentifier = 0.0.8.2250.0.6 discoveryComplete = false callSignalAddress = 1 entries { [0]=ipAddress { ip = 4 octets { ac 16 00 64 ...d } port = 1720 } } rasAddress = 1 entries { [0]=ipAddress { ip = 4 octets { ac 16 00 64 ...d } port = 1719 } } terminalType = { vendor = { vendor = { t35CountryCode = 9 t35Extension = 0 manufacturerCode = 61 } productId = 21 octets { 46 72 65 65 53 57 49 54 43 48 20 6d 6f 64 5f 68 FreeSWITCH mod_h 33 32 33 00 00 323.. } versionId = 30 octets { 31 2e 30 61 6c 70 68 61 31 20 28 48 33 32 33 70 1.0alpha1 (H323p 6c 75 73 20 76 31 2e 32 34 2e 30 29 00 00 lus v1.24.0).. } } terminal = { } mc = false undefinedNode = false } terminalAlias = 2 entries { [0]=dialedDigits "6820" [1]=h323_ID 9 characters { 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 0030 0 } } gatekeeperIdentifier = 15 characters { 0050 0068 006f 0065 006e 0069 0078 002d Phoenix- 0043 0068 0069 006c 0064 0047 004b ChildGK } endpointVendor = { vendor = { t35CountryCode = 9 t35Extension = 0 manufacturerCode = 61 } productId = 21 octets { 46 72 65 65 53 57 49 54 43 48 20 6d 6f 64 5f 68 FreeSWITCH mod_h 33 32 33 00 00 323.. } versionId = 30 octets { 31 2e 30 61 6c 70 68 61 31 20 28 48 33 32 33 70 1.0alpha1 (H323p 6c 75 73 20 76 31 2e 32 34 2e 30 29 00 00 lus v1.24.0).. } } timeToLive = 30 keepAlive = false endpointIdentifier = 9 characters { 0038 0035 0038 0036 005f 0065 006e 0064 8586_end 0070 p } willSupplyUUIEs = true maintainConnection = false supportsAltGK = <<null>> usageReportingCapability = { nonStandardUsageTypes = 0 entries { } startTime = <<null>> endTime = <<null>> terminationCause = <<null>> } callCreditCapability = { canEnforceDurationLimit = true } } 2013/02/21 18:08:00.855 1 RasSrv.cxx(381) RAS RRQ Received from 172.22.0.100:1719 2013/02/21 18:08:00.855 3 RasSrv.cxx(262) RAS Send to 10.111.0.1:1719 registrationRequest { requestSeqNum = 4 protocolIdentifier = 0.0.8.2250.0.2 nonStandardData = { nonStandardIdentifier = h221NonStandard { t35CountryCode = 138 t35Extension = 2 manufacturerCode = 2 } data = 13 octets { 49 50 3d 31 30 2e 31 31 31 2e 30 2e 34 IP=10.111.0.4 } } discoveryComplete = true callSignalAddress = 1 entries { [0]=ipAddress { ip = 4 octets { 0a 6f 00 04 .o.. } port = 1720 } } rasAddress = 1 entries { [0]=ipAddress { ip = 4 octets { 0a 6f 00 04 .o.. } port = 1719 } } terminalType = { mc = false undefinedNode = false } terminalAlias = 2 entries { [0]=dialedDigits "6820" [1]=h323_ID 9 characters { 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 0030 0 } } gatekeeperIdentifier = 11 characters { 004d 0061 0067 006f 0072 0048 0033 0032 MagorH32 0033 0047 004b 3GK } endpointVendor = { vendor = { t35CountryCode = 0 t35Extension = 0 manufacturerCode = 0 } } keepAlive = true endpointIdentifier = 9 characters { 0032 0036 0038 0039 005f 0065 006e 0064 2689_end 0070 p } willSupplyUUIEs = false maintainConnection = false additiveRegistration = <<null>> supportsAltGK = <<null>> supportsAssignedGK = false } Configuration on the parent: -------------------------------------- [Gatekeeper::Main] Fourtytwo = 42 Name = MagorH323GK TimeToLive = 100 StatusPort = 7000 TraceLevel = 5 Home = 10.111.0.1,192.168.217.119,127.0.0.1 ExternalIP = 192.168.217.119 [RoutedMode] GKRouted = 1 H245Routed = 1 AcceptUnregisteredCalls = 1 AcceptNeighborsCalls = 1 CallSignalPort = 1720 CallSignalHandlerNumber = 1 RemoveH245AddressOnTunneling = 1 DropCallsByReleaseComplete = 1 SupportNATedEndpoints = 1 SupportCallingNATedEndpoints = 1 Q931PortRange = 30000-30099 H245PortRange = 31000-31099 SendReleaseCompleteOnDRQ = 1 [Proxy] Enable = 1 InternalNetwork = 10.111.0.1/255.255.0.0 T120PortRange = 32000-41999 RTPPortRange = 32000-41999 ProxyForNAT = 1 ProxyForSameNAT = 0 ProxyAlways = 1 [RasSrv::LRQFeatures] NeighborTimeout = 6 ForwardHopCount = 8 AlwaysForwardLRQ = 1 IncludeDestinationInfoInLCF = 1 CiscoGKCompatible = 1 [RasSrv::RRQFeatures] EnableAdditiveRegistration=1 [RoutingPolicy] default = explicit,internal,enum,srv,dns [GkStatus::Auth] rule = explicit DelayReject = 5 127.0.0.1 = allow [LogFile] Rotate = Weekly RotateDay = Sun RotateTime = 00:59 Filename = /var/log/magor/gnugk/gnugk.log [PortNotifications] Q931PortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i Q931PortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i H245PortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i H245PortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i RTPPortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i RTPPortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i Configuration on the child: ----------------------------------- [Gatekeeper::Main] Fourtytwo = 42 Name = Phoenix-ChildGK TimeToLive = 100 StatusPort = 7000 TraceLevel = 3 Home = 172.22.0.10,10.111.0.4,127.0.0.1 ExternalIP = 10.111.0.4 [RoutedMode] GKRouted = 1 H245Routed = 1 AcceptUnregisteredCalls = 1 AcceptNeighborsCalls = 1 CallSignalPort = 1720 CallSignalHandlerNumber = 1 RemoveH245AddressOnTunneling = 1 DropCallsByReleaseComplete = 1 SupportNATedEndpoints = 1 SupportCallingNATedEndpoints = 1 Q931PortRange = 30000-30099 H245PortRange = 31000-31099 SendReleaseCompleteOnDRQ = 1 [Proxy] Enable = 1 InternalNetwork = 172.22.0.10/255.255.255.0 T120PortRange = 32000-41999 RTPPortRange = 32000-41999 ProxyForNAT = 1 ProxyForSameNAT = 0 ProxyAlways = 1 [RasSrv::LRQFeatures] NeighborTimeout = 6 ForwardHopCount = 8 AlwaysForwardLRQ = 1 IncludeDestinationInfoInLCF = 1 CiscoGKCompatible = 1 [RasSrv::RRQFeatures] EnableAdditiveRegistration=1 [RoutingPolicy] default = explicit,internal,parent [GkStatus::Auth] rule = explicit DelayReject = 5 127.0.0.1 = allow [LogFile] Rotate = Weekly RotateDay = Sun RotateTime = 00:59 Filename = /var/log/magor/gnugk/gnugk.log [PortNotifications] Q931PortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i Q931PortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i H245PortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i H245PortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i RTPPortOpen = /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh %p %n %i RTPPortClose = /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh %p %n %i [Endpoint] Gatekeeper = 10.111.0.1 EnableAdditiveRegistration=1 Thanks, Abes Dabir ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________________ 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/