Hello
All,
I have a weird
problem.
I have a tandberg
MXP 990 and Polycom QDX 6000 system, registered at our gnugk (192.168.0.1)
connected to a Palo Alto firewall that is configured to do a 1 on 1
portforward (NAT) from 123.123.123.4 to 192.168.0.1.
If i connect from
Home with Polycom PVX 8.02 to the external IP 123.123.123.4 it succesfully
register and i can make calls to all endpoints.
I can also call out
to endpoints not registered to the gatekeeper (IP Call) from all
endpoints.
However if i
unregister from gnugk and try to make a call 0183@xxxxxxxxxxxxx i get a no route to
destination.
Below is the output
of a level 4 trace:
2010/03/27
20:22:50.160 4
yasocket.cxx(905) TCPSrv Accept request on
192.168.0.1:1720
2010/03/27 20:22:50.176 3 ProxyChannel.cxx(1023) Q931s Received: Setup CRV=31349 from 85.100.140.1:3230
2010/03/27 20:22:50.177 4 ProxyChannel.cxx(966) Q931 Received: {
q931pdu = {
protocolDiscriminator = 8
callReference = 31349
from = originator
messageType = Setup
IE: Bearer-Capability = {
88 18 88 a5 ....
}
IE: Display = {
4d 69 73 68 61 Home
}
IE: User-User = {
60 a8 06 00 08 91 4a 00 04 02 40 04 00 4d 00 69 `.....J...@..M.i
00 73 00 68 00 61 01 80 39 b5 22 c0 b5 00 23 31 .s.h.a..9."...#1
0f 50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 .Polycom ViaVide
6f 16 52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 o.Release 8.0: 8
2e 30 2e 32 2e 30 32 33 35 00 d5 7e 8a 04 06 b8 .0.2.0235..~....
00 02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e ..0@i....+.....^
3f 00 cd 0d 98 00 07 00 50 65 8d 0a 0c 9e 11 00 ?.......Pe......
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
01 00 01 00 01 00 01 00 01 00 01 40 10 80 01 00 ...........@....
00 05 0e 53 65 74 75 70 20 2d 20 6d 65 73 73 61 ...Setup - messa
67 65 ge
}
}
h225pdu = {
h323_uu_pdu = {
h323_message_body = setup {
protocolIdentifier = 0.0.8.2250.0.4
sourceAddress = 2 entries {
[0]=h323_ID 5 characters {
004d 0069 0073 0068 0061 Home
}
[1]=dialedDigits "0682"
}
sourceInfo = {
vendor = {
vendor = {
t35CountryCode = 181
t35Extension = 0
manufacturerCode = 9009
}
productId = 16 octets {
50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 6f Polycom ViaVideo
}
versionId = 23 octets {
52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 2e 30 Release 8.0: 8.0
2e 32 2e 30 32 33 35 .2.0235
}
}
terminal = {
}
mc = false
undefinedNode = false
}
destCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
activeMC = false
conferenceID = 16 octets {
02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e 3f .0@i....+.....^?
}
conferenceGoal = create <<null>>
callType = pointToPoint <<null>>
sourceCallSignalAddress = ipAddress {
ip = 4 octets {
55 64 8c 01 Pe..
}
port = 3230
}
callIdentifier = {
guid = 16 octets {
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
}
}
mediaWaitForConnect = false
canOverlapSend = false
multipleCalls = false
maintainConnection = false
presentationIndicator = presentationAllowed <<null>>
screeningIndicator = userProvidedVerifiedAndFailed
}
h245Tunneling = false
}
user_data = {
protocol_discriminator = 5
user_information = 15 octets {
53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 65 Setup - message
}
}
}
}
2010/03/27 20:22:50.178 2 singleton.cxx(25) Create instance: PreliminaryCallTable(9)
2010/03/27 20:22:50.178 4 ProxyChannel.cxx(2308) Q931s Unregistered party is not NATed
2010/03/27 20:22:50.178 2 RasTbl.cxx(3369) CallTable::Insert(CALL) Call No. 1, total sessions : 1
2010/03/27 20:22:50.178 2 gkacct.cxx(1088) GKACCT Successfully logged event 1 for call no. 1
2010/03/27 20:22:50.178 3 ProxyChannel.cxx(2705) Q931s Call 1 is NAT type 0
2010/03/27 20:22:50.178 1 ProxyChannel.cxx(870) Call 1: h245Routed=1 proxy=1
2010/03/27 20:22:50.178 3 ProxyChannel.cxx(887) GK Call 1 proxy enabled
2010/03/27 20:22:50.189 4 ProxyChannel.cxx(966) Q931 Send to 123.123.123.4:1720 {
q931pdu = {
protocolDiscriminator = 8
callReference = 31349
from = originator
messageType = Setup
IE: Bearer-Capability = {
88 18 88 a5 ....
}
IE: Display = {
4d 69 73 68 61 Home
}
IE: User-User = {
60 a8 06 00 08 91 4a 00 04 02 40 04 00 4d 00 69 `.....J...@..M.i
00 73 00 68 00 61 01 80 39 b5 22 c0 b5 00 23 31 .s.h.a..9."...#1
0f 50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 .Polycom ViaVide
6f 16 52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 o.Release 8.0: 8
2e 30 2e 32 2e 30 32 33 35 00 d5 7e 8a 04 06 b8 .0.2.0235..~....
00 02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e ..0@i....+.....^
3f 00 7d 0d 98 07 00 d5 7e 8a 04 06 b8 11 00 02 ?.}.....~.......
30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f 01 0@i....+.....^?.
00 01 00 01 00 01 00 01 00 01 40 02 80 01 00 00 ..........@.....
05 0e 53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 ..Setup - messag
65 e
}
}
h225pdu = {
h323_uu_pdu = {
h323_message_body = setup {
protocolIdentifier = 0.0.8.2250.0.4
sourceAddress = 2 entries {
[0]=h323_ID 5 characters {
004d 0069 0073 0068 0061 Home
}
[1]=dialedDigits "0682"
}
sourceInfo = {
vendor = {
vendor = {
t35CountryCode = 181
t35Extension = 0
manufacturerCode = 9009
}
productId = 16 octets {
50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 6f Polycom ViaVideo
}
versionId = 23 octets {
52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 2e 30 Release 8.0: 8.0
2e 32 2e 30 32 33 35 .2.0235
}
}
terminal = {
}
mc = false
undefinedNode = false
}
destCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
activeMC = false
conferenceID = 16 octets {
02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e 3f .0@i....+.....^?
}
conferenceGoal = create <<null>>
callType = pointToPoint <<null>>
sourceCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
callIdentifier = {
guid = 16 octets {
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
}
}
mediaWaitForConnect = false
canOverlapSend = false
multipleCalls = false
maintainConnection = false
presentationIndicator = presentationAllowed <<null>>
screeningIndicator = userProvidedVerifiedAndFailed
}
h245Tunneling = false
}
user_data = {
protocol_discriminator = 5
user_information = 15 octets {
53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 65 Setup - message
}
}
}
}
2010/03/27 20:22:50.189 4 osutil.cxx(188) PWLib File handle high water mark set: 37 CallSignalSocket
2010/03/27 20:22:56.196 1 ProxyChannel.cxx(4191) Q931d Could not open/connect Q.931 socket at 192.168.0.1:30000 - error 9/110: Connection timed out
2010/03/27 20:22:56.196 3 ProxyChannel.cxx(3882) Q931 123.123.123.4:1720 DIDN'T ACCEPT THE CALL
2010/03/27 20:22:56.197 4 ProxyChannel.cxx(966) Q931 Send to 85.100.140.1:3230 {
2010/03/27 20:22:50.176 3 ProxyChannel.cxx(1023) Q931s Received: Setup CRV=31349 from 85.100.140.1:3230
2010/03/27 20:22:50.177 4 ProxyChannel.cxx(966) Q931 Received: {
q931pdu = {
protocolDiscriminator = 8
callReference = 31349
from = originator
messageType = Setup
IE: Bearer-Capability = {
88 18 88 a5 ....
}
IE: Display = {
4d 69 73 68 61 Home
}
IE: User-User = {
60 a8 06 00 08 91 4a 00 04 02 40 04 00 4d 00 69 `.....J...@..M.i
00 73 00 68 00 61 01 80 39 b5 22 c0 b5 00 23 31 .s.h.a..9."...#1
0f 50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 .Polycom ViaVide
6f 16 52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 o.Release 8.0: 8
2e 30 2e 32 2e 30 32 33 35 00 d5 7e 8a 04 06 b8 .0.2.0235..~....
00 02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e ..0@i....+.....^
3f 00 cd 0d 98 00 07 00 50 65 8d 0a 0c 9e 11 00 ?.......Pe......
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
01 00 01 00 01 00 01 00 01 00 01 40 10 80 01 00 ...........@....
00 05 0e 53 65 74 75 70 20 2d 20 6d 65 73 73 61 ...Setup - messa
67 65 ge
}
}
h225pdu = {
h323_uu_pdu = {
h323_message_body = setup {
protocolIdentifier = 0.0.8.2250.0.4
sourceAddress = 2 entries {
[0]=h323_ID 5 characters {
004d 0069 0073 0068 0061 Home
}
[1]=dialedDigits "0682"
}
sourceInfo = {
vendor = {
vendor = {
t35CountryCode = 181
t35Extension = 0
manufacturerCode = 9009
}
productId = 16 octets {
50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 6f Polycom ViaVideo
}
versionId = 23 octets {
52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 2e 30 Release 8.0: 8.0
2e 32 2e 30 32 33 35 .2.0235
}
}
terminal = {
}
mc = false
undefinedNode = false
}
destCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
activeMC = false
conferenceID = 16 octets {
02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e 3f .0@i....+.....^?
}
conferenceGoal = create <<null>>
callType = pointToPoint <<null>>
sourceCallSignalAddress = ipAddress {
ip = 4 octets {
55 64 8c 01 Pe..
}
port = 3230
}
callIdentifier = {
guid = 16 octets {
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
}
}
mediaWaitForConnect = false
canOverlapSend = false
multipleCalls = false
maintainConnection = false
presentationIndicator = presentationAllowed <<null>>
screeningIndicator = userProvidedVerifiedAndFailed
}
h245Tunneling = false
}
user_data = {
protocol_discriminator = 5
user_information = 15 octets {
53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 65 Setup - message
}
}
}
}
2010/03/27 20:22:50.178 2 singleton.cxx(25) Create instance: PreliminaryCallTable(9)
2010/03/27 20:22:50.178 4 ProxyChannel.cxx(2308) Q931s Unregistered party is not NATed
2010/03/27 20:22:50.178 2 RasTbl.cxx(3369) CallTable::Insert(CALL) Call No. 1, total sessions : 1
2010/03/27 20:22:50.178 2 gkacct.cxx(1088) GKACCT Successfully logged event 1 for call no. 1
2010/03/27 20:22:50.178 3 ProxyChannel.cxx(2705) Q931s Call 1 is NAT type 0
2010/03/27 20:22:50.178 1 ProxyChannel.cxx(870) Call 1: h245Routed=1 proxy=1
2010/03/27 20:22:50.178 3 ProxyChannel.cxx(887) GK Call 1 proxy enabled
2010/03/27 20:22:50.189 4 ProxyChannel.cxx(966) Q931 Send to 123.123.123.4:1720 {
q931pdu = {
protocolDiscriminator = 8
callReference = 31349
from = originator
messageType = Setup
IE: Bearer-Capability = {
88 18 88 a5 ....
}
IE: Display = {
4d 69 73 68 61 Home
}
IE: User-User = {
60 a8 06 00 08 91 4a 00 04 02 40 04 00 4d 00 69 `.....J...@..M.i
00 73 00 68 00 61 01 80 39 b5 22 c0 b5 00 23 31 .s.h.a..9."...#1
0f 50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 .Polycom ViaVide
6f 16 52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 o.Release 8.0: 8
2e 30 2e 32 2e 30 32 33 35 00 d5 7e 8a 04 06 b8 .0.2.0235..~....
00 02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e ..0@i....+.....^
3f 00 7d 0d 98 07 00 d5 7e 8a 04 06 b8 11 00 02 ?.}.....~.......
30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f 01 0@i....+.....^?.
00 01 00 01 00 01 00 01 00 01 40 02 80 01 00 00 ..........@.....
05 0e 53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 ..Setup - messag
65 e
}
}
h225pdu = {
h323_uu_pdu = {
h323_message_body = setup {
protocolIdentifier = 0.0.8.2250.0.4
sourceAddress = 2 entries {
[0]=h323_ID 5 characters {
004d 0069 0073 0068 0061 Home
}
[1]=dialedDigits "0682"
}
sourceInfo = {
vendor = {
vendor = {
t35CountryCode = 181
t35Extension = 0
manufacturerCode = 9009
}
productId = 16 octets {
50 6f 6c 79 63 6f 6d 20 56 69 61 56 69 64 65 6f Polycom ViaVideo
}
versionId = 23 octets {
52 65 6c 65 61 73 65 20 38 2e 30 3a 20 38 2e 30 Release 8.0: 8.0
2e 32 2e 30 32 33 35 .2.0235
}
}
terminal = {
}
mc = false
undefinedNode = false
}
destCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
activeMC = false
conferenceID = 16 octets {
02 30 40 69 cb 00 00 10 2b 9f 12 e3 e0 99 5e 3f .0@i....+.....^?
}
conferenceGoal = create <<null>>
callType = pointToPoint <<null>>
sourceCallSignalAddress = ipAddress {
ip = 4 octets {
7b 7b 7b 04 .~..
}
port = 1720
}
callIdentifier = {
guid = 16 octets {
02 30 40 69 cb 00 00 10 2b 9e 12 e3 e0 99 5e 3f .0@i....+.....^?
}
}
mediaWaitForConnect = false
canOverlapSend = false
multipleCalls = false
maintainConnection = false
presentationIndicator = presentationAllowed <<null>>
screeningIndicator = userProvidedVerifiedAndFailed
}
h245Tunneling = false
}
user_data = {
protocol_discriminator = 5
user_information = 15 octets {
53 65 74 75 70 20 2d 20 6d 65 73 73 61 67 65 Setup - message
}
}
}
}
2010/03/27 20:22:50.189 4 osutil.cxx(188) PWLib File handle high water mark set: 37 CallSignalSocket
2010/03/27 20:22:56.196 1 ProxyChannel.cxx(4191) Q931d Could not open/connect Q.931 socket at 192.168.0.1:30000 - error 9/110: Connection timed out
2010/03/27 20:22:56.196 3 ProxyChannel.cxx(3882) Q931 123.123.123.4:1720 DIDN'T ACCEPT THE CALL
2010/03/27 20:22:56.197 4 ProxyChannel.cxx(966) Q931 Send to 85.100.140.1:3230 {
****************************************************************************************************************************************************************************************
The lines
2010/03/27
20:22:56.196 1 ProxyChannel.cxx(4191) Q931d Could not
open/connect Q.931 socket at 192.168.0.1:30000 - error 9/110: Connection timed
out
2010/03/27 20:22:56.196 3 ProxyChannel.cxx(3882) Q931 123.123.123.4:1720 DIDN'T ACCEPT THE CALL
are giving me a clue that somewhere in the setup message the internal IP address of gnugk gets switched with external IP.
2010/03/27 20:22:56.196 3 ProxyChannel.cxx(3882) Q931 123.123.123.4:1720 DIDN'T ACCEPT THE CALL
are giving me a clue that somewhere in the setup message the internal IP address of gnugk gets switched with external IP.
****************************************************************************************************************************************************************************************
This is my
gatekeeper.ini
[Gatekeeper::Main]
FortyTwo=42
TimeToLive=300
UnicastRasPort=1719
ExternalIP=123.123.123.4
FortyTwo=42
TimeToLive=300
UnicastRasPort=1719
ExternalIP=123.123.123.4
Name=KWA-GK1
[LogFile]
Rotate=Daily
RotateTime=23:00
Rotate=Daily
RotateTime=23:00
[RoutedMode]
GKRouted=1
H245Routed=1
CallSignalPort=1720
AcceptNeighborCalls=1
AcceptUnregisteredCalls=1
TreatUnregisteredNAT=1
SupportNATedEndpoints=1
SupportCallingNATedEndpoints=1
EnableH46018=0
EnableH46023=0
Q931PortRange=30000-30999
H245PortRange=40000-40999
GKRouted=1
H245Routed=1
CallSignalPort=1720
AcceptNeighborCalls=1
AcceptUnregisteredCalls=1
TreatUnregisteredNAT=1
SupportNATedEndpoints=1
SupportCallingNATedEndpoints=1
EnableH46018=0
EnableH46023=0
Q931PortRange=30000-30999
H245PortRange=40000-40999
[Proxy]
Enable=1
InternalNetwork=192.168.0.0/24
Enable=1
InternalNetwork=192.168.0.0/24
T120PortRange=50000-50999
RTPPortRange=50000-50999
RTPPortRange=50000-50999
[GkStatus::Auth]
rule=explicit
127.0.0.1=1
rule=explicit
127.0.0.1=1
[Gatekeeper::Acct]
FileAcct=required
FileAcct=required
[FileAcct]
DetailFile=/var/log/gnugk/cdr.log
Rotate=weekly
RotateDay=Sun
RotateTime=00:59
DetailFile=/var/log/gnugk/cdr.log
Rotate=weekly
RotateDay=Sun
RotateTime=00:59
[RoutingPolicy]
default=explicit,internal,catchall
default=explicit,internal,catchall
[Routing::Catchall]
CatchAllIP=192.168.0.218
CatchAllIP=192.168.0.218
[RasSrv::LRQFeatures]
AcceptNonNeighborLRQ=1
AcceptNonNeighborLRQ=1
[RasSrv::ARQFeatures]
CallUnregisteredEndpoints=1
CallUnregisteredEndpoints=1
I am using
Gatekeeper(GNU) Version(2.3.2)
Ext(pthreads=1,radius=1,mysql=0,pgsql=0,firebird=0,odbc=0,sqlite=0,large_fdset=0,crypto/ssl=0,h46018=1,h46023=1)
Build(Feb 23 2010, 10:49:36) Sys(Linux i686 2.6.31-19-generic-pae) build from
CVS
Any help is
appreciated.
Siem
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev
_______________________________________________________ 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/