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:[email protected]
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/