Re: Additive registrations getting mixed up on child GK

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

 



Hi Jan,

So if additive registrations are enabled by default, is this section of the manual out of date?

EnableAdditiveRegistration=1
Default: 0

Based on my understanding of the logs in my original message, and the 2nd set I sent out, the endpoints are trying to register properly in terms of their aliases and the issue is between the parent and child, specifically the parent's registration confirmation for the 2nd endpoint.  My knowledge of H.323 is limited, so it is possible that I may be missing something.  I will try another 2 endpoints using a different stack on Monday just in case.

Thanks,
Abes


On Fri, Mar 7, 2014 at 4:31 AM, Jan Willamowius <jan@xxxxxxxxxxxxxx> wrote:
Hi Abes,

its strange that you see issues in the child gatekeeper.

When I rewrote the additive registrations support for GnuGk 3.4, I made
it active by default, so basically everybody has it enabled and we
haven't had a bug report since the 3.4 release...

I'd suggest you check your level 5 traces.

Regards,
Jan

--
Jan Willamowius, Founder of the GNU Gatekeeper Project
EMail  : jan@xxxxxxxxxxxxxx
Website: http://www.gnugk.org
Support: http://www.willamowius.com/gnugk-support.html

Abes Dabir wrote:
> Hi Simon,
>
> Thank you for the quick response.  Unfortunately it ended up in my spam
> folder and took me a few days to notice.
>
> We are on the same page when it comes to the registration on the parent
> GK.  My issue is only with registrations on the child GK, and how the
> 2nd endpoint registering gets the 1st endpoint's alias added to its
> registration.  I have level 5 traces from the child GK attached to this
> response which I hope will help with the diagnosis. The network for this
> trace is slightly different than the one in the original email:
>
> 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 = Onion): 10.111.0.4, 10.0.14.164 (internal)
>
> Endpoint 1: 2031@10.0.14.51
> Endpoint 2: 1234@10.0.14.52
>
> I first had endpoint 2031 register, then endpoint 1234. Here is what the
> final registration table looks like on the *_child_* GK:
>
>
> AllRegistrations
> RCF|10.0.14.51:1720|Onion:h323_ID=2031:dialedDigits=h323:2031:h323_ID|terminal|8680_endp
> ;
> RCF|10.0.14.52:1720|Onion:h323_ID=2031:dialedDigits=h323:2031:h323_ID=1234:dialedDigits=h323:1234:h323_ID|terminal|8681_endp
> ;
> Number of Endpoints: 2
> ;
>
> The 2nd endpoint's registration contains both endpoints' aliases, which
> is causing issues.
>
> Thanks,
> Abes
>
> On 03/03/2014 07:09 PM, Simon Horne wrote:
> > 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 = "" 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 = "" 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