Additive registrations getting mixed up on child GK

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

 



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:h323_ID|terminal|6992_endp
RCF|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h323_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|duplicateAlias;

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

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


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:h323_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:h323_ID|terminal|6992_endp
;
RCF|192.168.217.85:1720|innie2-61:h323_ID=6836:dialedDigits=h323:6836:h323_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_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:h323_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:h323_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/




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

  Powered by Linux