Re: bayonne-20050116 playrec Floating point exception - oh323/record.cpp and ivr scripting
Ganbold <[email protected]> Mon, 12 Dec 2005 12:07:30 +0800
| Newsgroups | gmane.comp.gnu.bayonne.devel |
|---|---|
| Message-ID | <[email protected]> |
At 06:51 AM 12/9/2005, you wrote:
>There originally was a bug I found awhile back in the inline dtmf detect
>routine with an uninitialized variable. You could either disable inline
>dtmf detection (only needed for broken/non-standard h323 clients such as
>Microsoft's original netmeeting) or look at the detect.cpp in ccaudio2
>and compare it to the one in the 20050116 bayonne distro :).
David,
I checked detect.cpp in ccaudio2-0.7.10 and there are only 2
differences with dtmf.cpp of bayonne.
There are Sample x[] and Linear amp typedefs.
Those are defined as typedef int16_t Sample and typedef int16_t
*Linear in audio2.h of ccaudio2-0.7.10.
void DTMFDetect::goertzelUpdate(goertzel_state_t *s,
- Sample x[],
+ int16 x[],
int samples)
-int DTMFDetect::putSamples(Linear amp, int samples)
+int DTMFDetect::putSamples(int16 amp[],
+ int samples)
I changed those lines into int16_t and compiled. However bayonne
still crashes with Floating point exception.
What to do next?
thanks,
Ganbold
>I had been away (offline) much of this week because of a defective
>service junction box from Verizon. I do not reasonably expect a
>replacement to appear before monday at this point.
>
>Ganbold wrote:
>
> > Hi David and all,
> >
> > I'm having problem with bayonne with oh323 driver.
> > When I'm trying to run playrec at the end when it tries to record it
> > exits saying Floating point exception.
> >
> > h323/0: step 3f0fffff
> > record(=exit,#,=maxTime,%maxtime,=prefix,%prefix,%tmpname)
> > OH323Trunk::stepHandler(event->id=303)
> > OH323Trunk::stepHandler(event->parm.step=8)
> > h323/0: record
> > Floating point exception
> >
> > Code snippets from /drivers/oh323/record.cpp:
> > ...
> > else if(data.record.append){
> > open(data.record.name, modeWrite);
> > }else{
> > create(data.record.name, &info);
> > ^^^^^^^^^^^^^^^^^^^^^^^^^ problem is here
> > }
> > ...
> > It shows Floating point exception when it tries to load create
> > function in oh323/record.cpp
> > How can I solve this problem? Where to look for create function ?
> >
> > Also I compiled ccaudio2-0.7.10 and installed. However when I try to
> > load g723 it says:
> > dso: g.723: ../modules/audio/g.723: undefined symbol:
> > _ZTVN12ccAudioCodec7g723_40E
> >
> > How to solve this problem?
> >
> > Another questions are related to ivr scripts.
> >
> > 1. How can I extend playrec.bs for example to make call to another party
> > through gnugk or through its own built-in gatekeeper functionality?
> > What commands to use in ivr script?
> >
> > 2. How to use perl/php with the ivr scripts? Is there any samples? Can
> > somebody share sample working scripts? I tried
> > to test some perl script:
> >
> > set %var1 8
> > set %var2 7
> > set %Var3 70
> > slog.info %var1 " " %var2 " " %Var3
> > libexec 20 scriptperl.pl %var1 %var2 %Var3
> > slog.info "Res: "%Res
> > slog.info "res2: "%res2
> > slog.info "Res3: "%Res3
> > slog.info "res4: "%res4
> > exit
> >
> > scriptperl.pl:
> >
> > #!/usr/bin/perl
> > use lib $ENV{'SERVER_LIBEXEC'};
> > use TGI;
> >
> > $factor1 = $TGI::QUERY{'var1'}; # lowercase variable import
> > $factor2 = $TGI::QUERY{'var2'}; # lowercase variabel import
> > $v3 = $TGI::QUERY{'Var3'}; # uppercase variable import
> > print "imported variables: - $factor1 - $factor2 - $v3 -\n";
> > $result = $factor1*$factor2; # any operation
> > TGI::set("Res",$result); # uppercase variable export
> > TGI::set("res2",$result); # lowercase variable export
> > TGI::set("Res3",$v3); # uppercase variable export
> > TGI::set("res4",$v3); # lowercase variable export
> > exit
> >
> > However bayonne output shows it can't exec the script:
> >
> > tgi: cmd=scriptperl.pl query=var1=8&var2=7&Var3=70 digits=
> > clid=UNKNOWN dnid=none
> > tgi: exec /home/tsgan/old/bayonne-20050116/data/libexec/scriptperl.pl
> > tgi: exec failed;
> > /home/tsgan/old/bayonne-20050116/data/libexec/scriptperl.pl
> > OH323Trunk::stepHandler(event->id=100)
> > h323/0: step 3f0ffffb slog.info(Res: ,%Res)
> > script: testperl.scr(7): Res undefined
> > OH323Trunk::stepHandler(event->id=401)
> > h323/0: step 3f0ffffb slog.info(res2: ,%res2)
> > script: testperl.scr(8): res2 undefined
> > OH323Trunk::stepHandler(event->id=401)
> > h323/0: step 3f0ffffb slog.info(Res3: ,%Res3)
> > script: testperl.scr(9): Res3 undefined
> > OH323Trunk::stepHandler(event->id=401)
> > h323/0: step 3f0ffffb slog.info(res4: ,%res4)
> > script: testperl.scr(10): res4 undefined
> > OH323Trunk::stepHandler(event->id=401)
> > h323/0: step 3f0ffffb exit()
> > h323/0: script exiting
> > h323/0: hangup
> > h323/0: detach script
> >
> > 3. Basically I would like to use bayonne as a h323 IVR server to
> > interact with other gateways and gnugk. Is it possible?
> > 4. Does ivr scripting support other languages such as TCL and C? How
> > to use it ?
> >
> > I searched all over through google and couldn't find appropriate
> > samples and manuals. I stuck and don't know yet what
> > to do.
> >
> > I hope somebody will respond to my email and enlighten me.
> > I'm really eager to make bayonne work as an ivr server. I can make a
> > test if there are patches or new versions of bayonne.
> > What is the next version of bayonne-20050116 which supports h323 and
> > ivr? Where can I download it? I tested:
> > bayonne2-1.0.1.tar.gz
> > bayonne2-1.1.0.tar.gz
> > bayonne-1.2.15.tar.gz
> > and only bayonne-20050116 ivr works. Which version should I try again?
> >
> > Any help, URL, advices, tips and tricks, hints are much appreciated.
> >
> > thanks in advance and sorry for a lot of questions,
> >
> >
> > sincerely,
> >
> > Ganbold
> > Mongolia
> >
> >
>