Re: incoming calls using H.460

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

 



Jan,

I've done a tcpdump on the linux NAT box (sitting between my HDX [on LAN] and GnuGK [on internet]). You'll find attached the tcpdump filtered file...

What i can see is the following :
- packet 1 : SCI is sent by Gnugk to NAT (guid = e05f75dc-6b77-11e4-b8d2-b73ea4855d77)
- packet 2 : SCI is translated by NAT to HDX => only IP/ports fields in headers are changed, all right
- packet 5 : SCR is sent by HDX to Gnugk => seams ok to me
- packet 6 : SCR is translated by NAT to Gnugk => only IP/ports fields in headers are changed, all right
- packet 3/4 : TCP SYN from HDX to gnugk:1720 is opened
- packet 7/8 : TCP SYN ACK from gnugk to HDX
- packet 9/10 : TCP ACK from HDX to gnugk
- packet 11/12 : tcp window update (ignore that)
- packet 13/14 : HDX sends a H225 facility undefined (guid = e05f75dc-6b77-11e4-b8d2-b73ea4855d77)
After 5 seconds, without answer from gnugk, the HDX shuts the TCP stream (TCP RST).

I'm not an expert of H323 nor H460, but i think gnugk should handles the "H225 facility undefined" and its guid to relate the TCP 1720 new session with its SCI/SCR negociation.

Am i wrong with that analysis ?

Best Regards,

Sébastien


2014-11-13 22:38 GMT+01:00 Sébastien Bonnaire <sebastien@xxxxxxxxxxxx>:
Thanks Jan for your answer.

I'm still disapointed:
- the test system i used for my trace is behind a regular linux masquerading a public IP address
- the same problem exists when using a huawei TE30, on a public IP, forcing activation of H.460.

Do you have another idea ?

Sébastien

2014-11-13 21:27 GMT+01:00 Jan Willamowius <jan@xxxxxxxxxxxxxx>:
Hi Sébastien,

that behavior is absolutely correct: When using H.460.18 the called
endpoint has to open the signaling connection after getting the
ServiceControlIndication.

A common problem are router or ALG that think they know H,.323, but
are only aware of old style call flows (eg. Cisco ASA).

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

Relaxed Communications GmbH
Frahmredder 91
22393 Hamburg
Geschäftsführer: Jan Willamowius
HRB 125261 (Amtsgericht Hamburg)
USt-IdNr: DE286003584


Sébastien Bonnaire wrote:
> Hi GnuGK users !
>
> I'm experiencing a problem with videoendpoints registered to my Gatekeeper :
> - When they register with H.460, GnuGK do not forward setup to endpoints
> for incoming calls. Outgoing calls works perfectly.
> - When they register without H.460, GnuGK does forward setup. Both incoming
> and outgoing calls work perfectly.
>
> I'm using Gatekeeper(GNU) Version(3.7.0), but version 3.4.0 doesn't help...
>
> His that a bug or a misconfiguration ?
> Your help will be welcome.
>
> Seb
>
>
> following is logs (when endpoint uses H.460) and GNUGK configuration :
>
> ---
> logfile
> ---
>
> 2014/11/13 20:37:23.420 4             RasSrv.cxx(243)   RAS     Receiving
> on 81.93.4.29:1719(U)
>
> 2014/11/13 20:37:23.420 2             RasSrv.cxx(175)   RAS     Read from
> A.A.A.NBG:1719
>
> 2014/11/13 20:37:23.420 3             RasSrv.cxx(252)   RAS
>
> locationRequest {
>
>     requestSeqNum = 38073
>
>     destinationInfo = 1 entries {
>
>       [0]=dialedDigits "100000990"
>
>     }
>
>     nonStandardData = {
>
>       nonStandardIdentifier = object 1.3.6.1.4.1.903
>
>       data ="" 2 octets {
>
>         31 30                                              10
>
>       }
>
>     }
>
> […]
>
> 2014/11/13 20:37:23.420 5                job.cxx(338)   JOB     Worker
> threads: 23 total - 23 busy, 0 idle
>
> 2014/11/13 20:37:23.420 5                job.cxx(180)   JOB     Starting
> Job LRQ at Worker thread 140228487673600
>
> 2014/11/13 20:37:23.420 1             RasSrv.cxx(383)   RAS     LRQ
> Received from A.A.A.NBG:1719
>
> 2014/11/13 20:37:23.421 5              Routing.h(243)   ROUTING Checking
> policy Sql for the request LRQ 38073
>
> 2014/11/13 20:37:23.421 5              gksql.cxx(318)   Sql     Executing
> query: select field1,field2 from transforms where dateendofservice > now()
> and calledalias='100000990' and callingalias in ('any','71660101')
>
> 2014/11/13 20:37:23.422 3            Routing.cxx(2030)  Sql: query returned
> no rows
>
> 2014/11/13 20:37:23.422 5              Routing.h(243)   ROUTING Checking
> policy Explicit for the request LRQ 38073
>
> 2014/11/13 20:37:23.422 5              Routing.h(243)   ROUTING Checking
> policy Internal for the request LRQ 38073
>
> 2014/11/13 20:37:23.423 4             RasTbl.cxx(1966)  Alias match for EP
> B.B.B.ENDP:1719
>
> 2014/11/13 20:37:23.423 5              Routing.h(246)   ROUTING Policy
> Internal applied to the request LRQ 38073
>
> 2014/11/13 20:37:23.423 2             RasSrv.cxx(422)
> LCF|A.A.A.NBG|4872_endp|100000990:dialedDigits
>
> 2014/11/13 20:37:23.423 3             RasSrv.cxx(264)   RAS     Send to
> A.A.A.NBG:1719
>
> locationConfirm {
>
>     requestSeqNum = 38073
>
>     callSignalAddress = ipAddress {
>
>       ip =  4 octets {
>
> […]
>
>       }
>
>       port = 1720
>
>     }
>
>     rasAddress = ipAddress {
>
>       ip =  4 octets {
>
> […]
>
>       }
>
>       port = 1719
>
>     }
>
>   }
>
> 2014/11/13 20:37:23.423 5             RasSrv.cxx(276)   RAS     Sent
> Successful
>
> 2014/11/13 20:37:23.423 5                job.cxx(388)   JOB     Job LRQ
> deleted
>
> 2014/11/13 20:37:23.423 5                job.cxx(378)   JOB     Worker
> threads: 23 total - 22 busy, 1 idle
>
> 2014/11/13 20:37:23.461 4           yasocket.cxx(1151)  TCPSrv  Accept
> request on 81.93.4.29:1720
>
> 2014/11/13 20:37:23.461 4           yasocket.cxx(1158)  TCPSrv  current
> cps=0 calls in interval=0
>
> 2014/11/13 20:37:23.461 5                job.cxx(338)   JOB     Worker
> threads: 23 total - 23 busy, 0 idle
>
> 2014/11/13 20:37:23.461 5                job.cxx(180)   JOB     Starting
> Job Acceptor at Worker thread 140228487673600
>
> 2014/11/13 20:37:23.461 5       ProxyChannel.cxx(1250)  Q931s   Reading
> from A.A.A.NBG:53476
>
> 2014/11/13 20:37:23.462 3       ProxyChannel.cxx(1753)  Q931s   Received:
> Setup CRV=13586 from A.A.A.NBG:53476
>
> 2014/11/13 20:37:23.463 4       ProxyChannel.cxx(1685)  Q931    Received: {
>
>   q931pdu = {
>
>     protocolDiscriminator = 8
>
>     callReference = 13586
>
>     from = originator
>
>     messageType = Setup
>
>     IE: Bearer-Capability = {
>
>       88 18 8c a5                                        ....
>
>     }
>
> […]
>
> 2014/11/13 20:37:23.463 4       ProxyChannel.cxx(3502)  Q931s   GWRewrite
> source for A.A.A.NBG:53476: neighbor or explicit IP
>
> 2014/11/13 20:37:23.464 4       ProxyChannel.cxx(3590)  Q931    Gatekeeper
> generated CallProceeding
>
> 2014/11/13 20:37:23.464 5       ProxyChannel.cxx(1685)  Q931    Send to
> A.A.A.NBG:53476 {
>
>   q931pdu = {
>
>     protocolDiscriminator = 8
>
>     callReference = 46354
>
>     from = destination
>
>     messageType = CallProceeding
>
> […]
>
> }
>
> 2014/11/13 20:37:23.464 3             gkauth.cxx(1188)  GKAUTH  default
> Setup check ok
>
> 2014/11/13 20:37:23.464 5            Routing.cxx(260)   ROUTING Checking
> policy Sql for request Setup CRV=13586
>
> 2014/11/13 20:37:23.464 5              gksql.cxx(318)   Sql     Executing
> query: select field1,field2 from transforms where dateendofservice > now()
> and calledalias='100000990' and callingalias in ('any','71660101')
>
> 2014/11/13 20:37:23.466 3            Routing.cxx(2030)  Sql: query returned
> no rows
>
> 2014/11/13 20:37:23.466 5            Routing.cxx(260)   ROUTING Checking
> policy Explicit for request Setup CRV=13586
>
> 2014/11/13 20:37:23.466 5            Routing.cxx(260)   ROUTING Checking
> policy Internal for request Setup CRV=13586
>
> 2014/11/13 20:37:23.467 4             RasTbl.cxx(1966)  Alias match for EP
> B.B.B.ENDP:1719
>
> 2014/11/13 20:37:23.467 5            Routing.cxx(263)   ROUTING Policy
> Internal applied to the request Setup CRV=13586
>
> 2014/11/13 20:37:23.467 4       ProxyChannel.cxx(3988)  Q931s   Source
> address A.A.A.MCU peer address A.A.A.NBG caller is behind NAT
>
> 2014/11/13 20:37:23.467 2             RasTbl.cxx(4696)  CallTable::Insert(CALL)
> Call No. 5, total sessions : 1
>
> 2014/11/13 20:37:23.467 5              gksql.cxx(318)   SQLAcct Executing
> query: INSERT INTO cdr (id, h323id, acctsessionid, h323confid, gkip, gkid,
> callingstationip, callingstationid, calledstationip, calledstationid,
> setuptime, acctstarttime, acctstartdelay, acctupdatetime) VALUES (DEFAULT,
> '71660101', '5461364a00000005', '64 d7 56 56 e4 47 00 1f 06 99 5e 3f 0c 55
> 6a 5b', '81.93.4.29', 'MADVISIO-GK29', NULLIF('A.A.A.NBG', '')::INET,
> '71660101', NULLIF('B.B.B.ENDP', '')::INET, '100000990',
> NULLIF('20:37:23.000 CET Thu Nov 13 2014', '')::TIMESTAMP(0) WITH TIME
> ZONE, now(), 0, now())
>
> 2014/11/13 20:37:23.571 3             gkacct.cxx(928)   GKACCT  SQLAcct
> logged event 1 for call no. 5
>
> 2014/11/13 20:37:23.571 2             gkacct.cxx(964)   GKACCT  Successfully
> logged event 1 for call no. 5
>
> 2014/11/13 20:37:23.571 4       ProxyChannel.cxx(4245)  Q931s   GWRewrite
> source for A.A.A.NBG:53476: setup H323 ID or E164
>
> 2014/11/13 20:37:23.571 4       ProxyChannel.cxx(7687)  Q931s   Set Called
> Numbering Plan=1 TypeOfNumber=1
>
> 2014/11/13 20:37:23.571 4       ProxyChannel.cxx(7715)  Q931s   Set Calling
> Numbering Plan 1 Type Of Number 2
>
> 2014/11/13 20:37:23.571 3       ProxyChannel.cxx(4360)  GK      Call 5
> proxy enabled (H.460.18/.19)
>
> 2014/11/13 20:37:23.572 3             RasSrv.cxx(264)   RAS     Send to
> B.B.B.ENDP:1719
>
> serviceControlIndication {
>
>     requestSeqNum = 10
>
>     serviceControl = 1 entries {
>
>       [0]={
>
>         sessionId = 0
>
>         reason = open <<null>>
>
>       }
>
>     }
>
>     genericData = 1 entries {
>
>       [0]={
>
>         id = standard 18
>
>         parameters = 1 entries {
>
>           [0]={
>
>             id = standard 1
>
>             content = raw  24 octets {
>
>               00 51 5d 04 1d 06 b8 00  5b be e2 99 6b 66 11 e4
> .Q].....[...kf..
>
>               b8 d2 b7 3e a4 85 5d 77                            ...>..]w
>
>             }
>
>           }
>
>         }
>
>       }
>
>     }
>
>   }
>
> 2014/11/13 20:37:23.572 5             RasSrv.cxx(276)   RAS     Sent
> Successful
>
> 2014/11/13 20:37:23.572 5           yasocket.cxx(991)   ProxyH(4)       Total
> sockets: 1
>
> 2014/11/13 20:37:23.572 5                job.cxx(388)   JOB     Job
> Acceptor deleted
>
> 2014/11/13 20:37:23.572 5                job.cxx(378)   JOB     Worker
> threads: 23 total - 22 busy, 1 idle
>
> 2014/11/13 20:37:23.581 4             RasSrv.cxx(243)   RAS     Receiving
> on 81.93.4.29:1719(U)
>
> 2014/11/13 20:37:23.581 2             RasSrv.cxx(175)   RAS     Read from
> B.B.B.ENDP:1719
>
> 2014/11/13 20:37:23.581 3             RasSrv.cxx(252)   RAS
>
> serviceControlResponse {
>
>     requestSeqNum = 10
>
>     cryptoTokens = 1 entries {
>
>       [0]=cryptoEPPwdHash {
>
>         alias = h323_ID  10 characters {
>
>           0031 0030 0030 0030 0030 0030 0039 0039   10000099
>
>           0030 0000                                 0
>
>         }
>
>         timeStamp = 1102520409
>
>         token = {
>
>           algorithmOID = 1.2.840.113549.2.5
>
>           paramS = {
>
>           }
>
>           hash = Hex:  5d 02 25 b0 ff 1f 73 8a  b2 4c ca 47 25 04 d2 3a
>
>         }
>
>       }
>
>     }
>
>   }
>
> 2014/11/13 20:37:23.581 5                job.cxx(338)   JOB     Worker
> threads: 23 total - 23 busy, 0 idle
>
> 2014/11/13 20:37:23.581 5                job.cxx(180)   JOB     Starting
> Job SCR at Worker thread 140228487673600
>
> 2014/11/13 20:37:23.581 1             RasSrv.cxx(383)   RAS     SCR
> Received from B.B.B.ENDP:1719
>
> 2014/11/13 20:37:23.581 5                job.cxx(388)   JOB     Job SCR
> deleted
>
> 2014/11/13 20:37:23.581 5                job.cxx(378)   JOB     Worker
> threads: 23 total - 22 busy, 1 idle
>
>
>
>
> ---
> gatekeeper.ini
> ---
> [Gatekeeper::Main]
> Fortytwo=42
> Name=myGK
> Home=x.x.x.x
> StatusPort=7000
> TimeToLive=300
> CompareAliasType=0
> CompareAliasCase=0
> EndpointSignalPort=1720
> TraceLevel=5
>
> [Logfile]
> Filename=/var/log/log_gnugk.log
> Rotate=Daily
> RotateTime=04:00
>
> [GkStatus::Auth]
> rule=regex
> regex=^(1\.2\.3\.[0-9]+)
>
> [Gatekeeper::Auth]
> SQLPasswordAuth=alternative;RRQ
> default=allow
>
> [SQLPasswordAuth]
> Driver=PostgreSQL
> ...
>
> [Gatekeeper::Acct]
> SQLAcct=optional;start,connect,update,stop
> FileAcct=required;stop
>
> [FileAcct]
> ...
>
> [SQLAcct]
> ...
>
> [RasSrv::Neighbors]
> alpha=Generic
> beta=Generic
>
> [Neighbor::alpha]
> Dynamic=0
> GatekeeperIdentifier=alpha
> Host=y.y.y.1
> SendPrefixes=20
> AcceptPrefixes=99
> ForwardLRQ=depends
>
> [Neighbor::beta]
> Dynamic=0
> GatekeeperIdentifier=beta
> Host=y.y.y.2
> SendPrefixes=10
> AcceptPrefixes=99
> ForwardLRQ=depends
>
> [RoutedMode]
> GKRouted=1
> AcceptNeighborsCalls=1
> EnableH46017=1
> EnableH46018=1
> H46018NoNAT=1
> Q931PortRange=30000-39999
> H245PortRange=40000-49999
> CallSignalPort=1720
> H245Routed=1
> CallSignalHandlerNumber=10
> RtpHandlerNumber=8
> AcceptUnregisteredCalls=1
> TCPKeepAlive=1
> CpsLimit=10
> CpsCheckInterval=1
> SupportNATedEndpoints=1
> TreatUnregisteredNAT=1
> GenerateCallProceeding=1
> ;H4502EmulatorTransferMethod=Reroute
>
> [Proxy]
> Enable=1
> ProxyForNAT=1
> ProxyForSameNAT=0
> T120PortRange=50000-50999
> RTPPortRange=51000-58999
> RTPMultiplexing=1
> RTPMultiplexPort=59000
> RTCPMultiplexPort=59999
>
> [RoutingPolicy]
> Default=sql,explicit,internal,parent,neighbor,srv,dns,catchall
>
> [Routing::Sql]
> ...
>
> [ModeSelection]
> 1.2.3.0/24=PROXY,PROXY
>
> [Routing::CatchAll]
> CatchAllIP=2.3.4.5
> ---



------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&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/


Attachment: filtered trace 01.pcap
Description: Binary data

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&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