Re: Crashing parent GnuGK while attempting additive registration from child

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

 



Further to my previous message, it seems that if the child hasn't yet 
received a GCF from the parent, if it receives a registration request 
from an endpoint, it will confirm it.  When it later receives a GCF from 
the parent, it will not tell the parent about any of the registrations 
it has already confirmed.  I suspect that the child will forward any new 
incoming registrations from other endpoints to the parent though.  Is 
this desired behaviour for additiveRegistrations?

Abes

On 13-02-22 06:13 PM, Simon Horne wrote:
> Abes
>
> I'm not entirely sure what you mean  "the parent doesn't know about the
> endpoint", the endpoint is added as just another alias of the child
> gatekeeper registered (as a gateway) to the parent. There is no current way
> of identifying in the parent that there is actually an endpoint beyond the
> child only that there is a new alias for the child. This is something that
> requires further investigation.
>
> Version 3.3 is probably a little way off.
>
> Simon
>
> -----Original Message-----
> From: Abes Dabir [mailto:abes.dabir@xxxxxxxxxxxxx]
> Sent: 23 February 2013 07:53
> To: GNU Gatekeeper Users
> Subject: Re:  Crashing parent GnuGK while attempting
> additive registration from child
>
> Looks like the issue is fixed in 3.3.
>
> After some testing, I can get into a situation where the endpoint is
> registered with the child, and the child is registered with the parent, but
> the parent doesn't know about the endpoint.  I'll open another thread for
> this once I have verified the exact scenario to reproduce.
>
> Thanks for your help.  Btw, any idea when 3.3 might be ready to be released?
> Abes
>
> On 13-02-22 04:01 PM, Jan Willamowius wrote:
>> Hi,
>>
>> it seems Simon has already rewritten exactly that method (SetAliases)
>> for GnuGk 3.3. Did you try if the issue still happens with the latest
>> CVS ?
>>
>> Regards,
>> Jan
>>
>> Abes Dabir wrote:
>>> Simon, Jan,
>>>
>>> Here is the backtrace:
>>>
>>> [Thread debugging using libthread_db enabled] Using host libthread_db
>>> library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>>> Core was generated by `/opt/magor/gnugk/bin/gnugk --config
>>> /opt/magor/conf/gatekeeper.ini --pid /var/r'.
>>> Program terminated with signal 11, Segmentation fault.
>>> #0  0x000000000087d497 in PASN_Choice::operator= (this=0x0,
>>> other=...) at ptclib/asner.cxx:1795
>>> 1795    ptclib/asner.cxx: No such file or directory.
>>> (gdb)
>>> (gdb) bt
>>> #0  0x000000000087d497 in PASN_Choice::operator= (this=0x0,
>>> other=...) at ptclib/asner.cxx:1795
>>> #1  0x0000000000472b71 in H225_AliasAddress::operator= (this=0x0) at
>>> /home/abes/Downloads/test/h323plus/include/h225.h:500
>>> #2  0x0000000000453b04 in EndpointRec::SetAliases
>>> (this=0x7f3cc8003cc0, a=..., additive=true) at RasTbl.cxx:660
>>> #3  0x00000000004e543f in
>>> RegistrationRequestPDU::HandleAdditiveRegistration (this=0x17f7960,
>>> ep=...) at RasSrv.cxx:2577
>>> #4  0x00000000004e26a7 in RegistrationRequestPDU::Process
>>> (this=0x17f7960) at RasSrv.cxx:2055
>>> #5  0x00000000004d9094 in RasMsg::Exec (this=0x17f7960) at
>>> RasSrv.cxx:382
>>> #6  0x000000000040c9b9 in Jobs::Run (this=0x17f7990) at job.cxx:409
>>> #7  0x000000000040b9de in Worker::Main (this=0x17f57a0) at
>>> job.cxx:182
>>> #8  0x00000000008d979d in PThread::PX_ThreadStart (arg=0x17f57a0) at
>>> ptlib/unix/tlibthrd.cxx:491
>>> #9  0x00007f3ced2a2e9a in start_thread () from
>>> /lib/x86_64-linux-gnu/libpthread.so.0
>>> #10 0x00007f3cebe59cbd in clone () from
>>> /lib/x86_64-linux-gnu/libc.so.6
>>> #11 0x0000000000000000 in ?? ()
>>>
>>>
>>> I was using the binaries before.  The above is from a fresh
>>> compilation as per the chap 14 instructions.  Details:
>>>
>>> Gatekeeper(GNU) Version(3.2.0)
>>> Ext(pthreads=1,radius=1,mysql=0,pgsql=0,firebird=0,odbc=0,sqlite=0,la
>>> rge_fdset=0,crypto/ssl=1,h46018=0,h46023=1,ldap=0,ssh=0,ipv6=0,h235me
>>> dia=0,lua=0,h46017=1,snmp=1)
>>> H323Plu
>>> s(1.25.0) PTLib(2.10.9) Build(Feb 22 2013, 14:10:06) Sys(Linux x86_64
>>> 3.2.0-36-generic)
>>>
>>>
>>> Cheers,
>>> Abes
>>>
>>> On 13-02-22 08:24 AM, Jan Willamowius wrote:
>>>> Hi Abes,
>>>>
>>>> could you please provide a stacktrace of the crash as explained in
>>>> chapter 14.3 of the manual ?
>>>> http://www.gnugk.org/gnugk-manual-14.html#ss14.3
>>>>
>>>> Please make sure you do a "make clean" before the compile.
>>>>
>>>> Thanks,
>>>> Jan
>>>>
>>>> Abes Dabir wrote:
>>>>> 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.s
>>>>> h %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.s
>>>>> h %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.s
>>>>> h %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.s
>>>>> h %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.s
>>>>> h %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.s
>>>>> h %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/
>
>
> ------------------------------------------------------------------------------
> 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/


------------------------------------------------------------------------------
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