Re: Additive registrations getting mixed up on child GK

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

 



Abes

The logic is correct. The parent gk acts as a gateway for the child.
Aliases of endpoints registered to the child are added to the alias list on
the parent GK for the child so calls from the outside can be routed to the
child.

Posting debug traces of the child gatekeeper with respect to the
registration issue would help diagnose that issue.

Simon

-----Original Message-----
From: Abes Dabir [mailto:abes.dabir@xxxxxxxxxxxxx] 
Sent: 04 March 2014 06:21
To: GNU Gatekeeper Users
Subject:  Additive registrations getting mixed up on child
GK

Hi,

I'm having issues with additive registrations and I was hoping you could
help me out by either confirming a bug, or correcting any misconceptions on
my part.  I have a setup with a parent GK, child GK with additive
registrations turned on, and 2 endpoints behind the child.  The 1st endpoint
registers as I would expect.  When the 2nd endpoint registers, its
registration on the child GK shows up with its alias, as well as that of the
1st endpoint:

RCF|192.168.217.23:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID|terminal|6992_endp 
RCF|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID=6872:dialedDigits=h323:6872:h323_ID|terminal|6993_endp

I would expect the child GK's registration on the parent to be a
concatenated list of all the endpoints behind the child, but I would expect
each endpoint's registration on the child GK to be listed individually.  The
behaviour is the same on versions 3.4 and 3.5. From this point on, I seem to
be in a bad state and several problems can occur, such as:

- An incoming call doesn't get routed correctly (couldn't reproduce this
reliably)

- If I restart the 1st endpoint, I keep getting registrations rejections:
GCF|192.168.217.23|6836|terminal;
RRJ|192.168.217.23|6836:dialedDigits=h323:6836:h323_ID|terminal|duplicat
RRJ|eAlias;

- If I then restart the 2nd endpoint as well, I get:

RRJ|10.111.0.12|6872:dialedDigits=h323:6872:h323_ID|unknown|fullRegistra
RRJ|tionRequired; 
RRJ|10.111.0.12|6836:dialedDigits=h323:6836:h323_ID|unknown|fullRegistra
RRJ|tionRequired;


I've added all further details about my setup and the problem below.  If you
need any additional info, or would me to try different things, I would be
happy to do so.

Thanks,
Abes Dabir





Details:
=====

Parent GK (name = MagorH323GK): 10.111.0.1 (internal), (there is a public
interface as well, but it isn't relevant to this problem) Child GK (name =
innie2-61): 10.111.0.4, 192.168.217.226 (internal)

Endpoint 1: 6836@192.168.217.23
Endpoint 2: 6972@192.168.217.85


Registrations on child GK (name = innie2-61):
=============================================

After 6836 registers:
--------------------------

AllRegistrations
RCF|192.168.217.23:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID|terminal|6992_endp
;
Number of Endpoints: 1


After 6872 registers:
--------------------------

AllRegistrations
RCF|192.168.217.23:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID|terminal|6992_endp
;
RCF|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID=6872:dialedDigits=h323:6872:h323_ID|terminal|6993_endp
;
Number of Endpoints: 2
;

Registrations on parent GK (name = MagorH323GK):
=============================================

AllRegistrations
RCF|10.111.0.12:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h323_
RCF|ID=6872:dialedDigits=h323:6872:h323_ID|gateway,gatekeeper|2330_endp
;

Child GK logs for 6872 registering:
===================================

The log below on the child GK show the registration request from the
endpoint (6872) coming into the child GK, the child forwarding the request
to the parent, the parent responding, and the child forwarding the response
to the endpoint (containing both 6872 & 6836 !!!).

2014/03/03 14:32:53.853 2             RasSrv.cxx(175)   RAS     Read 
from 192.168.217.85:1719
2014/03/03 14:32:53.853 3             RasSrv.cxx(252)   RAS
registrationRequest {
     requestSeqNum = 23320
     protocolIdentifier = 0.0.8.2250.0.6
     discoveryComplete = true
     callSignalAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           c0 a8 d9 55                                        ...U
         }
         port = 1720
       }
     }
     rasAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           c0 a8 d9 55                                        ...U
         }
         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 "6872"
       [1]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0037   h323:687
         0032                                      2
       }
     }
     gatekeeperIdentifier =  9 characters {
       0069 006e 006e 0069 0065 0032 002d 0036   innie2-6
       0031                                      1
     }
     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
     willSupplyUUIEs = true
     maintainConnection = false
     supportsAltGK = <<null>>
     usageReportingCapability = {
       nonStandardUsageTypes = 0 entries {
       }
       startTime = <<null>>
       endTime = <<null>>
       terminationCause = <<null>>
     }
     callCreditCapability = {
       canEnforceDurationLimit = true
     }
   }


2014/03/03 14:32:53.854 3             RasSrv.cxx(264)   RAS     Send to 
10.111.0.1:1719
registrationRequest {
     requestSeqNum = 6
     protocolIdentifier = 0.0.8.2250.0.2
     nonStandardData = {
       nonStandardIdentifier = h221NonStandard {
         t35CountryCode = 138
         t35Extension = 2
         manufacturerCode = 2
       }
       data =  14 octets {
         49 50 3d 31 30 2e 31 31  31 2e 30 2e 31 32 IP=10.111.0.12
       }
     }
     discoveryComplete = true
     callSignalAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           0a 6f 00 0c                                        .o..
         }
         port = 1720
       }
     }
     rasAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           0a 6f 00 0c                                        .o..
         }
         port = 1719
       }
     }
     terminalType = {
       mc = false
       undefinedNode = false
     }
     terminalAlias = 2 entries {
       [0]=dialedDigits "6872"
       [1]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0037   h323:687
         0032                                      2
       }
     }
     gatekeeperIdentifier =  11 characters {
       004d 0061 0067 006f 0072 0048 0033 0032   MagorH32
       0033 0047 004b                            3GK
     }
     endpointVendor = {
       vendor = {
         t35CountryCode = 138
         t35Extension = 0
         manufacturerCode = 2
       }
     }
     keepAlive = true
     endpointIdentifier =  9 characters {
       0032 0033 0033 0030 005f 0065 006e 0064   2330_end
       0070                                      p
     }
     willSupplyUUIEs = false
     maintainConnection = false
     additiveRegistration = <<null>>
     supportsAltGK = <<null>>
     supportsAssignedGK = false
   }

2014/03/03 14:32:53.866 3             RasSrv.cxx(252)   RAS
registrationConfirm {
     requestSeqNum = 6
     protocolIdentifier = 0.0.8.2250.0.2
     callSignalAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           0a 6f 00 01                                        .o..
         }
         port = 1720
       }
     }
     terminalAlias = 5 entries {
       [0]=h323_ID  9 characters {
         0069 006e 006e 0069 0065 0032 002d 0036   innie2-6
         0031                                      1
       }
       [1]=dialedDigits "6836"
       [2]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0033   h323:683
         0036                                      6
       }
       [3]=dialedDigits "6872"
       [4]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0037   h323:687
         0032                                      2
       }
     }
     gatekeeperIdentifier =  11 characters {
       004d 0061 0067 006f 0072 0048 0033 0032   MagorH32
       0033 0047 004b                            3GK
     }
     endpointIdentifier =  9 characters {
       0032 0033 0033 0030 005f 0065 006e 0064   2330_end
       0070                                      p
     }
     timeToLive = 60
     willRespondToIRR = false
     maintainConnection = false
     supportsAdditiveRegistration = <<null>>
   }


2014/03/03 14:32:53.866 2             RasSrv.cxx(1640)  RAS Trapped RCF
2014/03/03 14:32:53.867 1             RasTbl.cxx(112)   New 
EP|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h32
EP|3_ID=6872:dialedDigits=h323:6872:h323_ID|terminal|6993_endp
2014/03/03 14:32:53.867 2             gkacct.cxx(1034)  GKACCT 
Successfully logged event 256 for endpoint 6993_endp
2014/03/03 14:32:53.867 2             RasSrv.cxx(422) 
RCF|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h3
RCF|23_ID=6872:dialedDigits=h323:6872:h323_ID|terminal|6993_endp
;
2014/03/03 14:32:53.867 3             RasSrv.cxx(264)   RAS     Send to 
192.168.217.85:1719
registrationConfirm {
     requestSeqNum = 23320
     protocolIdentifier = 0.0.8.2250.0.6
     nonStandardData = {
       nonStandardIdentifier = h221NonStandard {
         t35CountryCode = 138
         t35Extension = 2
         manufacturerCode = 2
       }
       data =  5 octets {
         4e 6f 4e 41 54                                     NoNAT
       }
     }
     callSignalAddress = 1 entries {
       [0]=ipAddress {
         ip =  4 octets {
           c0 a8 d9 e2                                        ....
         }
         port = 1720
       }
     }
     terminalAlias = 5 entries {
       [0]=h323_ID  9 characters {
         0069 006e 006e 0069 0065 0032 002d 0036   innie2-6
         0031                                      1
       }
       [1]=dialedDigits "6836"
       [2]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0033   h323:683
         0036                                      6
       }
       [3]=dialedDigits "6872"
       [4]=h323_ID  9 characters {
         0068 0033 0032 0033 003a 0036 0038 0037   h323:687
         0032                                      2
       }
     }
     gatekeeperIdentifier =  9 characters {
       0069 006e 006e 0069 0065 0032 002d 0036   innie2-6
       0031                                      1
     }
     endpointIdentifier =  9 characters {
       0036 0039 0039 0033 005f 0065 006e 0064   6993_end
       0070                                      p
     }
     timeToLive = 60
     willRespondToIRR = false
     maintainConnection = false
     serviceControl = 1 entries {
       [0]={
         sessionId = 0
         contents = callCreditServiceControl {
           callStartingPoint = connect <<null>>
         }
         reason = open <<null>>
       }
     }
     supportsAdditiveRegistration = <<null>>
   }





----------------------------------------------------------------------------
--
Subversion Kills Productivity. Get off Subversion & Make the Move to
Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and
the freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________________

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/


------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________________

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