Crashing parent GnuGK while attempting additive registration from child

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [SIP]     [Open H.323]     [Gnu Gatekeeper]     [Asterisk PBX]     [ISDN Cause Codes]     [Yosemite News]

  Powered by Linux