Peter Valkov
2005-May-13 01:27 UTC
[Asterisk-Users] 2 minutes pause before ring on H323 channel
I have build asterisk from latest CVS HEAD-05/09/05 with H323 support as described in README file. Open H.323 version v1.17.1 and PWLib v1.9.0 on Mandrake Linux 10.2 kernel-2.6.11 I tested it with following phones: -- XLite (SIP softphone) -- QMix SIP IP phone (PA168F) -- SJPhone (H323 softphone) -- QMix H323 IP phone (PA168F) -- FireFly (IAX2 softphone) Everything works fine except a problem with h323 extension dialing. Behavior is the same for both SJPhone (soft phone) and QMix (PA168F). When I dial such extension I have to wait 2 minutes exactly (120 seconds) before extension rings. After long way of trial and errors with .conf files I managed to minimize this time to 1 minute exactly (60 seconds) exten => 20,1,Dial(H323/h323phone) ; this leads to 120 seconds pause before ring exten => 21,1,Dial(H323/h323phone@192.168.0.101) ; this leads to 60 seconds pause before ring After quick debugging session I found that this time goes to the call to H323EndPoint::MakeCallLocked(fullAddress, token, opts) in MyH323EndPoint::MakeCall function. MakeCallLocked is part of OpenH323 and this is too deep for me... I'm not sure is this is a problem of OpenH323 or of channel driver but my speculation is that the time goes in some kind of timeout wait... who knows... Does anyone else experienced common problems? Any help to resolve the problem will be appreciated And here are my .conf files ... very basic yet ;-) ==== extensions.conf ==[general] static=yes writeprotect=no [globals] SIP_XLITE = SIP/xlite SIP_PHONE = SIP/sipphone H323_SJPHONE = H323/sjphone@192.168.0.1 H323_PHONE = H323/h323phone@192.168.0.101 IAX_FIREFLY = IAX2/firefly ; ; Inbound ; [inbound] exten => s, 1, Answer exten => s, 2, Playback(ss-noservice) exten => s, 3, Hangup ; ; Internal Extensions ; [local] exten => 10,1,Dial(${SIP_XLITE}) exten => 11,1,Dial(${SIP_PHONE}) exten => 20,1,Dial,${H323_SJPHONE} exten => 21,1,Dial,${H323_PHONE} exten => 30,1,Dial(${IAX_FIREFLY}) exten => 0, 1, Answer exten => 0, 2, Playback(ss-noservice) exten => 0, 3, Hangup === h323.conf == [general] port = 1720 bindaddr = 192.168.0.100 disallow = all allow = ulaw gatekeeper = DISABLE context = inbound [h323phone] type = friend host = 192.168.0.101 context = local callerid = "h323phone" <21> [sjphone] type = friend host = 192.168.0.1 context = local callerid = "sjphone" <20> __________________________________ Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail
John Daragon
2005-May-13 04:48 UTC
[Asterisk-Users] 2 minutes pause before ring on H323 channel
Peter Valkov wrote:> I have build asterisk from latest CVS HEAD-05/09/05 with H323 support as described in README file. > Open H.323 version v1.17.1 and PWLib v1.9.0 on Mandrake Linux 10.2 kernel-2.6.11 > > I tested it with following phones: > -- XLite (SIP softphone) > -- QMix SIP IP phone (PA168F) > -- SJPhone (H323 softphone) > -- QMix H323 IP phone (PA168F) > -- FireFly (IAX2 softphone) > > Everything works fine except a problem with h323 extension dialing. Behavior is the same for both > SJPhone (soft phone) and QMix (PA168F). When I dial such extension I have to wait 2 minutes > exactly (120 seconds) before extension rings. After long way of trial and errors with .conf files > I managed to minimize this time to 1 minute exactly (60 seconds) > > exten => 20,1,Dial(H323/h323phone) ; this leads to 120 seconds pause before ring > exten => 21,1,Dial(H323/h323phone@192.168.0.101) ; this leads to 60 seconds pause before ringPeter, hi; I haven't looked at the openh323 code, and I might not get time to... but in my limited experience, 60 second delays are almost always DNS timeouts. jd -- John Daragon john@argv.co.ok argv[0] limited Lambs Lawn Cottage, Staple Fitzpaine, Taunton, TA3 5SL, UK v +44 (0) 1460 234068 f +44 (0) 1460 234069 m +44 (0) 7836 576127
Pete Wolf
2005-May-16 01:18 UTC
[Asterisk-Users] 2 minutes pause before ring on H323 channel
>John Daragon wrote: > > Yep - down in openh323/src/transports.cxx there's a method > H323TransportAddress::GetIpAndPorts() which is called (eventually) by > MakeCallLocked(). This in turn calls GetPortByService() and > GetHostByAddress(). > > My guess is that the 60 second wait is caused by a request to a DNS > server that is never honoured. > > Of course, I've been wrong before...Hi John, Thank you for the help ... i'll check if it is DNS timeout later this week when i have time to play with it and i'll post result here.
Peter Valkov
2005-May-17 15:04 UTC
[Asterisk-Users] 2 minutes pause before ring on H323 channel
> John Daragon wrote: >> Peter Valkov wrote: >> >>> I have build asterisk from latest CVS HEAD-05/09/05 with H323 support >>> as described in README file. >>> Open H.323 version v1.17.1 and PWLib v1.9.0 on Mandrake Linux 10.2 >>> kernel-2.6.11 >>> >>> I tested it with following phones: -- XLite (SIP softphone) >>> -- QMix SIP IP phone (PA168F) >>> -- SJPhone (H323 softphone) >>> -- QMix H323 IP phone (PA168F) >>> -- FireFly (IAX2 softphone) >>> >>> Everything works fine except a problem with h323 extension dialing. >>> Behavior is the same for both >>> SJPhone (soft phone) and QMix (PA168F). When I dial such extension I >>> have to wait 2 minutes >>> exactly (120 seconds) before extension rings. After long way of trial >>> and errors with .conf files >>> I managed to minimize this time to 1 minute exactly (60 seconds) >>> exten => 20,1,Dial(H323/h323phone) ; this leads to 120 seconds pause >>> before ring exten => 21,1,Dial(H323/h323phone at 192.168.0.101) ; this >>> leads to 60 seconds pause before ring >> >> >> Peter, hi; >> >> I haven't looked at the openh323 code, and I might not get time to... >> but in my limited experience, 60 second delays are almost always DNS >> timeouts. > > Yep - down in openh323/src/transports.cxx there's a method > H323TransportAddress::GetIpAndPorts() which is called (eventually) by > MakeCallLocked(). This in turn calls GetPortByService() and > GetHostByAddress(). > > My guess is that the 60 second wait is caused by a request to a DNS > server that is never honoured. > > Of course, I've been wrong before...It is definitely DNS problem. The strange thing is that from command line everything works just fine. I can perform DNS and reverse DNS lookup without problem. Here follows my brutal workaround. In file pwlib/include/ptbuildopts.h is defined P_DNS 1 I changed it to P_DNS 0 ... after that recompiled pwlib openh323 and chan_h323 ... make install from asterisk home dir ... and voila ... no more 60 or (120) seconds delays. I suppose that this approach is quite graceless... because in this way entire openh323 DNS resolver is disabled... but this is the only way I managed to get it working I'm still looking for proper solution of the problem... so any help or advice will be appreciated