[Home]

Summary:ASTERISK-17045: [patch] chan_ooh323 cannot register to Tandberg Gatekeeper
Reporter:Andy Boatman (mrhanman)Labels:
Date Opened:2010-11-30 12:43:33.000-0600Date Closed:2010-12-11 15:47:10.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Addons/chan_ooh323
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) Asterisk_1.8_h323.log
( 1) Asterisk_1.8_trunk_h323.log
( 2) Asterisk_1.8_trunk_patch_2_h323.log
( 3) no-gkid.patch
( 4) no-gkid-2.patch
( 5) Patch_2_new_h323.log
( 6) Tandberg_1000_syslog.txt
( 7) Tandberg_Gatekeeper_patch_2.log
Description:When trying to register to a Tandberg Gatekeeper, chan_ooh323 fails with an error stating "No Gatekeeper ID present in received GKConfirmed message".  Below is a copy of the h323_log file and my ooh323.conf.  I also tried with "gateway = yes", but the failure was the same.

****** ADDITIONAL INFORMATION ******

11:27:28:163    Trace File: /var/log/asterisk/h323_log
11:27:28:163    FastStart - enabled
11:27:28:163    H245 Tunneling - enabled
11:27:28:163    MediaWaitForConnect - disabled
11:27:28:163    AutoAnswer - disabled
11:27:28:163    Terminal Type - 50
11:27:28:163    T35 CountryCode - 1
11:27:28:164    T35 Extension - 0
11:27:28:164    Manufacturer Code - 71
11:27:28:164    ProductID - objsys
11:27:28:164    VersionID - v0.8.3
11:27:28:164    Local signalling IP address - 10.4.16.45
11:27:28:164    H225 ListenPort - 1720
11:27:28:164    CallerID - Asterisk
11:27:28:164    Call Establishment Timeout - 60 seconds
11:27:28:164    MasterSlaveDetermination Timeout - 30 seconds
11:27:28:164    TerminalCapabilityExchange Timeout - 30 seconds
11:27:28:164    LogicalChannel  Timeout - 30 seconds
11:27:28:164    Session Timeout - 15 seconds
11:27:28:164  Gatekeeper Client Configuration:
11:27:28:164    Gatekeeper mode - UseSpecificGatekeeper
11:27:28:164    Gatekeeper To Use - 10.4.48.15:1719
11:27:28:164  H323 RAS channel creation - successful
11:27:28:164  Ras message encoding - successful
11:27:28:164  Sending RAS Message = {
11:27:28:164     gatekeeperRequest = {
11:27:28:164        requestSeqNum = {
11:27:28:165           1
11:27:28:165        }
11:27:28:165        protocolIdentifier = {
11:27:28:165           {
11:27:28:165  0 0 8 2250 0 4 }
11:27:28:165        }
11:27:28:165        rasAddress = {
11:27:28:165           ipAddress = {
11:27:28:166              ip = {
11:27:28:166                 '0a04102d'H
11:27:28:166              }
11:27:28:166              port = {
11:27:28:167                 13030
11:27:28:167              }
11:27:28:167           }
11:27:28:167        }
11:27:28:167        endpointType = {
11:27:28:167           vendor = {
11:27:28:168              vendor = {
11:27:28:168                 t35CountryCode = {
11:27:28:168                    1
11:27:28:169                 }
11:27:28:169                 t35Extension = {
11:27:28:169                    0
11:27:28:169                 }
11:27:28:170                 manufacturerCode = {
11:27:28:170                    71
11:27:28:170                 }
11:27:28:170              }
11:27:28:171              productId = {
11:27:28:171                 '6f626a737973'H
11:27:28:171              }
11:27:28:171              versionId = {
11:27:28:172                 '76302e382e33'H
11:27:28:172              }
11:27:28:172           }
11:27:28:173           terminal = {
11:27:28:173           }
11:27:28:173           mc = {
11:27:28:173              FALSE
11:27:28:173           }
11:27:28:173           undefinedNode = {
11:27:28:174              FALSE
11:27:28:174           }
11:27:28:174        }
11:27:28:174        endpointAlias = {
11:27:28:174           elem[0] = {
11:27:28:175              h323_ID = {
11:27:28:175                 AsteriskVM
11:27:28:175              }
11:27:28:176           }
11:27:28:176           elem[1] = {
11:27:28:176              dialedDigits = {
11:27:28:176                 "1200"
11:27:28:176              }
11:27:28:177           }
11:27:28:177        }
11:27:28:177     }
11:27:28:177  }
11:27:28:177  Sent GRQ message
11:27:28:181  GkClient Received RAS Message
11:27:28:181  Received RAS Message = {
11:27:28:181     gatekeeperConfirm = {
11:27:28:181        requestSeqNum = {
11:27:28:181           1
11:27:28:181        }
11:27:28:182        protocolIdentifier = {
11:27:28:182           {
11:27:28:182  0 0 8 2250 0 5 }
11:27:28:182        }
11:27:28:182        rasAddress = {
11:27:28:182           ipAddress = {
11:27:28:182              ip = {
11:27:28:183                 '0a04300f'H
11:27:28:183              }
11:27:28:183              port = {
11:27:28:183                 1719
11:27:28:184              }
11:27:28:184           }
11:27:28:184        }
11:27:28:184     }
11:27:28:184  }
11:27:28:184  Gatekeeper Confirmed (GCF) message received.
11:27:28:184  ERROR:No Gatekeeper ID present in received GKConfirmed message
11:27:28:184  Ignoring message and will retransmit GRQ after timeout
11:27:28:184  Error: Failed to handle received RAS message
11:28:28:346  Gatekeeper client GRQ timer expired.
11:28:28:346  Error:Gatekeeper could not be found
11:28:28:346  Error: Gatekeeper error. Either Gk not responding or Gk
sending invalid messages
11:28:28:346  Error: Gatekeeper error detected. Closing GkClient as Gk
mode is UseSpecifcGatekeeper
11:28:28:346  Destroying Gatekeeper Client
11:28:28:346  Closed RAS channel
11:28:28:346  Doing ooStopMonitorCalls
11:28:28:346  Stopping listener for incoming calls
11:28:28:346  Done ooStopMonitorCalls
11:28:28:346  Ending Monitor thread

[general]
port = 1720
bindaddr = 10.4.16.45
h323id = AsteriskVM
e164 = 1200
callerid = Asterisk
faststart = yes
h245tunneling = yes
gateway = no
disallow=all
allow=ulaw
dtmfmode=rfc2833
gatekeeper = 10.4.48.15
AllowGKRouted = yes
AcceptAnonymous = yes
progress_setup = 3
progress_alert = 8
tunneling=none
Comments:By: Alexander Anikin (may213) 2010-11-30 16:05:35.000-0600

Hi,

As first recommendation upgrade to 1.8 if it's possible for you. Reworked stable version is included begin from 1.8, but it's possible that new codes contain same trouble.
I will see to older (1.6.2) and current ooh323 codes about this.

By: Andy Boatman (mrhanman) 2010-11-30 16:09:30.000-0600

At the moment, I'm afraid it is not possible to upgrade to 1.8, but I will try it to see if the problem is still there.

By: Andy Boatman (mrhanman) 2010-12-01 11:42:22.000-0600

I tried with Asterisk 1.8, and I got the same result.  I'll attach a copy of the log.

By: Alexander Anikin (may213) 2010-12-01 13:41:53.000-0600

Pls try attached patch, it must allow to work with gatekeepers which don't send their identifiers back to client, patch is for 1.8/trunk version.
If it work for 1.8/trunk i'll produce same patch for 1.6.2 addons.

By: Andy Boatman (mrhanman) 2010-12-01 13:53:27.000-0600

Thank you very much.  I'll get started on it right away.

By: Andy Boatman (mrhanman) 2010-12-01 14:14:28.000-0600

That seems to work great!  I've not placed any calls through it yet, but this was required before I could make that happen.  Thanks very much for your work, and I'd really appreciate the backport to 1.6.2.  I'll attach a copy of the h323_log.

By: Andy Boatman (mrhanman) 2010-12-01 16:01:12.000-0600

When trying to dial a Tandberg endpoint registered with the Tandberg Gatekeeper, the Tandberg endpoint answers, but the SIP softphone I'm testing with keeps ringing forever.  Is this another issue, or am I doing something wrong?

By: Alexander Anikin (may213) 2010-12-01 16:10:49.000-0600

Pls try v2 of this patch. it's not incremental, do revert if you use svn and patch again with v2.

Tandberg GK sent to client own id not in GK confirm packet but GKReg confirm.
I think for first that GK don't sent id in any packet and don't check own id in client packets, but last trouble like to call which is not confirmed by GK.

If this trouble will found with last patch please attach h323_log as previous.

By: Andy Boatman (mrhanman) 2010-12-01 16:27:56.000-0600

I'll get it compiled in today, but testing will have to wait until tomorrow.

By: Andy Boatman (mrhanman) 2010-12-01 16:35:48.000-0600

I went ahead and fired off a quick test.  Registration was fine, but the call still was answered on the Tandberg endpoint, but not on the SIP softphone.  Attached is the log.

By: Andy Boatman (mrhanman) 2010-12-02 08:52:08.000-0600

I attached a log from the Tandberg 1000 endpoint as it receives and tries to answer the call. I also attached a log from the Tandberg Gatekeeper and ooh323 during the same time.



By: Alexander Anikin (may213) 2010-12-02 16:53:26.000-0600

Hi,

current trouble is not gk issue but signalling issue. i will analyze log from tandberg endpoint, but i see there is not found capability set packet from tandberg ep in capability exchange in call between asterisk and this ep.
It's require more analyze of logs but please check settings on Tandberg EP about fast start and h245tunneling, they are off now.
If EP have these settings please activate both settings.

By: Alexander Anikin (may213) 2010-12-02 16:55:12.000-0600

I think also that better way is to close this issue and make new issue about signalling trouble between Tandberg EP and asterisk, because GK issue was resolved by patch.

By: Andy Boatman (mrhanman) 2010-12-02 20:57:27.000-0600

That sounds good to me.  I'll do some more testing tomorrow and I'll open a new ticket if I still have issues.  Do you know when you'll patch 1.6.2.14 and 1.8.0?

By: Alexander Anikin (may213) 2010-12-03 00:33:40.000-0600

Hi,

Patch for trunk must be good for 1.8.0 also, i'll make patch for 1.6.2 some later today or tomorrow.
Before closing issue i will renew codes with this patch in svn repo for all supported versions.

By: Andy Boatman (mrhanman) 2010-12-03 10:36:35.000-0600

Thanks, may.  I really appreciate all your assistance.

By: Digium Subversion (svnbot) 2010-12-11 15:45:08.000-0600

Repository: asterisk-addons
Revision: 1137

U   branches/1.6.2/channels/ooh323c/src/ooGkClient.c

------------------------------------------------------------------------
r1137 | may | 2010-12-11 15:45:07 -0600 (Sat, 11 Dec 2010) | 11 lines

Correction to work with gatekeeper which don't send GK ID

Don't use GK ID if it's not presented in GK replies
Extract GK ID not only in GK confirm but in GK register confirm also

(issue ASTERISK-17045)
Reported by: MrHanMan
Patches:
     no-gkid-2.patch uploaded by may213 (license 454)
Tested by: may213, MrHanMan

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk-addons?view=rev&revision=1137

By: Digium Subversion (svnbot) 2010-12-11 15:45:50.000-0600

Repository: asterisk
Revision: 298099

U   branches/1.8/addons/ooh323c/src/ooGkClient.c

------------------------------------------------------------------------
r298099 | may | 2010-12-11 15:45:50 -0600 (Sat, 11 Dec 2010) | 11 lines

Correction to work with gatekeeper which don't send GK ID

Don't use GK ID if it's not presented in GK replies
Extract GK ID not only in GK confirm but in GK register confirm also

(issue ASTERISK-17045)
Reported by: MrHanMan
Patches:
     no-gkid-2.patch uploaded by may213 (license 454)
Tested by: may213, MrHanMan

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=298099

By: Digium Subversion (svnbot) 2010-12-11 15:47:09.000-0600

Repository: asterisk
Revision: 298100

U   trunk/addons/ooh323c/src/ooGkClient.c

------------------------------------------------------------------------
r298100 | may | 2010-12-11 15:47:09 -0600 (Sat, 11 Dec 2010) | 12 lines

Correction to work with gatekeeper which don't send GK ID

Don't use GK ID if it's not presented in GK replies
Extract GK ID not only in GK confirm but in GK register confirm also

(closes issue ASTERISK-17045)
Reported by: MrHanMan
Patches:
     no-gkid-2.patch uploaded by may213 (license 454)
Tested by: may213, MrHanMan


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=298100