Re: [asterisk-users] OPENR2 in Thailand

2008-10-20 Thread Chris Ziomkowski
I got Asterisk to work with R2 in Thailand about 3 years ago. This was 
back before OpenR2, and I had to modify the C libraries directly. Of 
course, outbound dialing is DTMF, not R2, however inbound is pretty 
standard. This was on TA  (now True) circuits.

I guess I can't tell you much about how to set it up today as my 
experience is so out of date, but I can offer you encouragement that it 
will work for you if you put in the effort. There is nothing fundamental 
which will cause it to fail. Which carrier are you planning on 
connecting to?

Chris

Moises Silva wrote:
 Hello Peter,

 You can ask this better in the asterisk-r2 mailing list.

 I don't know of anyone that has used OpenR2 in Thailand, but I am
 interested in adding support for that variant. Contact me at this same
 e-mail address or via Google talk (my e-mail address works for MSN as
 well ) to discuss further details.

 Moisés Silva

 On Mon, Oct 20, 2008 at 12:58 PM, Peter Lindquist
 [EMAIL PROTECTED] wrote:
   
 Dear All,

 I'm looking for someone who has implemented OpenR2 in Thailand
 successfully. Any settings, advice, caveats etc. are welcome.

 Best regards,

 Peter Lindqvist
 www.voxion.net

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

 



   


___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] OPENR2 in Thailand

2008-10-20 Thread Chris Ziomkowski
Hi Peter,

Basically, I had to rewrite the R2 state machine to use pulsed outbound 
signalling instead of compelled, and hack in support of the DTMF tone 
groups instead of R2 frequencies. It was messy, but possible. The 
inbound side was much cleaner, and you may be correct when you say you 
could just use China R2 for that. Is this application going to be 
limited to inbound, or do you need outbound dialing?

The originating switch may also make a difference. Just be prepared for 
that. TOT is switching some of their stuff over to Huawei, which in my 
experience causes issues (however, no idea about their R2 support in 
general). We were connecting to a Siemens EWSD out of Prakanong, and it 
proved pretty reliable. Not much variation at all. This application was 
used for a time to do call ins for the 07 show, so we were doing very 
heavy signalling for about 1 hour every week. TA had configured a 2:1 
ratio for us on MF senders on the incoming side. Average call duration 
was only 30 seconds, and 120 lines were packed for 1 hour straight.

I assume you've already asked the Turtlephone Organization of Thailand 
about ISDN? Have you asked more than once? Often times they'll just say 
no we don't support it because they're lazy or don't know, not because 
it isn't possible. If you haven't actually had a sit down with an 
engineer in their offices, I wouldn't necessarily believe them if the 
salesrep tells you they can't do it. A bottle of Johnny Walker as a gift 
can often make these discussions go easier.

Chris

Peter Lindquist wrote:
 We are using TOT (Telephone Organization of Thailand). They are very 
 messy on their side so we are sorting out some unrelated problems with 
 them right now - very slow response.

 I believe you are correct when you say that outbound dialing is DTMF, I 
 have heard this before too.

 Out of curiosity what did you have to change in the C libraries?

 Peter

 Chris Ziomkowski wrote:
   
 I got Asterisk to work with R2 in Thailand about 3 years ago. This was 
 back before OpenR2, and I had to modify the C libraries directly. Of 
 course, outbound dialing is DTMF, not R2, however inbound is pretty 
 standard. This was on TA  (now True) circuits.

 I guess I can't tell you much about how to set it up today as my 
 experience is so out of date, but I can offer you encouragement that it 
 will work for you if you put in the effort. There is nothing fundamental 
 which will cause it to fail. Which carrier are you planning on 
 connecting to?

 Chris

 Moises Silva wrote:
   
 
 Hello Peter,

 You can ask this better in the asterisk-r2 mailing list.

 I don't know of anyone that has used OpenR2 in Thailand, but I am
 interested in adding support for that variant. Contact me at this same
 e-mail address or via Google talk (my e-mail address works for MSN as
 well ) to discuss further details.

 Moisés Silva

 On Mon, Oct 20, 2008 at 12:58 PM, Peter Lindquist
 [EMAIL PROTECTED] wrote:
   
 
   
 Dear All,

 I'm looking for someone who has implemented OpenR2 in Thailand
 successfully. Any settings, advice, caveats etc. are welcome.

 Best regards,

 Peter Lindqvist
 www.voxion.net

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

 
   
 
   
 
   
 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users

   
 

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users

   


___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Asterisk with Nextone using H323

2008-06-24 Thread Chris Ziomkowski
The meaning of  softswitch in the Nextone is that it will try and use 
whatever protocol the corresponding Ingress/Egress side is set for. That 
means, if you place/receive a call from/to Asterisk, and route to an 
endpoint doing SIP, the Nextone will expect Asterisk to speak SIP. If 
you place/receive a call to/from an endpoint using H.323, it will expect 
Asterisk to speak H.323.

When you use softswitch, the Nextone is much more forgiving about what 
it passes through also, expecting that your softswitch on the far side 
will take care of the issues.

If you only want to use H.323 with Asterisk, you should configure it as 
an H.323 gateway. Why are you trying to set softswitch?

That is how all of our systems are configured with Asterisk and ooh323. 
Works very well and very stable.

Chris

Everton Goularth wrote:
 Hi people,

 Someone have already used asterisk with Nextone?
 I`m trying to use it, but there are some problems.. One of these are 
 when we set up a connection between Nextone and Asterisk using H323, we 
 use our asterisk server as a Softswitch in the Nextone configuration, so 
 it doesn`t work. But, when we just change (in Nextone configuration) 
 from Softswitch to Gateway, it work. Where is the difference?
 I`m using chan_ooh323 in my asterisk server. This is my ooh323.conf:

 -
 [general]
 ;Default - 1720
 ;port=1720
 bindaddr= IP_ADDRESS

 ;This parameter indicates whether channel driver should register with
 ;gatekeeper as a gateway or an endpoint.
 ;Default - no
 ;gateway=yes

 ;Whether asterisk should use fast-start and tunneling for H323 connections.
 ;Default - yes
 ;faststart=no
 ;h245tunneling=no

 ;H323-ID to be used for asterisk server
 ;Default - Asterisk PBX
 h323id=GW2
 e164=1521#

 ;CallerID to use for calls
 ;Default - Same as h323id
 callerid=MediaXChange 1.0

 ;Whether this asterisk server will use gatekeeper.
 ;Default - DISABLE
 ;gatekeeper = DISCOVER
 ;gatekeeper = a.b.c.d
 ;gatekeeper =  189.44.163.125

 logfile=/var/log/asterisk/h323_log
 context=default
 disallow=all
 allow=g729
 allow=g723
 dtmfmode=rfc2833

 -

 Anyone know what can I do? or what am I doing wrong???
 Thank`s a lot for the opportunity.
 Everton Goularth

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 AstriCon 2008 - September 22 - 25 Phoenix, Arizona
 Register Now: http://www.astricon.net

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users


   


___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

AstriCon 2008 - September 22 - 25 Phoenix, Arizona
Register Now: http://www.astricon.net

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] How to modify incoming DNIS?

2006-08-22 Thread Chris Ziomkowski

Hello everyone,

I have a question that seems simple, but I am stumped. Basically, I have 
several incoming SIP trunk from gateways connected to physical E1 lines 
around the world. Everything works, but the DNIS that comes in are non 
standard and sometimes conflict. It varies not only by country, but also 
by carrier within a country and even by switch within a carrier. I want 
the complete E.164 number, but I rarely get this.


What I would like to do is modify the incoming number as soon as it 
enters Asterisk. What happens now is that DNIS 12345678 from SIP trunk A 
maps to the same extension as 12345678 from SIP trunk B, even though one 
number is actually from Europe and the other from Asia. This causes 
many, many conflicts. I want to remap the incoming DNIS to 4412345678 
and 6012345678.


Unfortunately, the simple solution doesn't seem to work. The following 
fails


(CALLERID(num) is updated correctly, but EXTEN never gets changed.)

[from-sip-trunk-A]
exten = _1234,1,Set(EXTEN=44${EXTEN})
exten = _1234,2,Set(CALLERID(num)=44${CALLERID(num)})
exten = _1234,3,Goto(s,1)
exten = s,1,Goto(incoming-call,${EXTEN},1)

[from-sip-trunk-B]
exten = _1234,1,Set(EXTEN=60${EXTEN})
exten = _1234,2,Set(CALLERID(num)=60${CALLERID(num)})
exten = _1234,2,Goto(s,1)
exten = s,1,Goto(incoming-call,${EXTEN},1)

No error messages are generated, but the EXTEN variable is never 
updated! Right after changing it, I print it out with a NoOP and the 
value is not updated.


The incoming-call context makes extensive use of macros and other 
applications which assume EXTEN will be set correctly. How can I force 
EXTEN to be set to the value I want instead of the value that arrives on 
the trunk?


Please help. This sounds so simple but I am now very frustrated. The 
idea of rewriting every application in the system because EXTEN can't be 
changed is very unappealing. I'm already 4 days late getting this up and 
running.


Thank you for any assistance,

Chris

___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] G.723.1, pass thru and DTMF. Possible?

2005-01-19 Thread Chris Ziomkowski
I am investigating the use of Asterisk for a new project and am confused 
about all the literature available on G.723.1 in pass thru mode.

Specifically, I need to be able to take 2 H.323 channels, each running a 
G.723.1 codec, and bridge them together.

However, before I do that, I need to play a message and then listen to one 
of the channels to determine how to route the call.

For example, it may play a menu asking the user to select one of technical 
support, sales, or accounting.  Or it might ask them to press 1 for 
Mandarin and route the call to Singapore, 2 for Khmer and and route to 
Phenom Phen, etc. Since I can program the gateways which will be 
interfacing to the PSTN to send the DTMF tones via H.245 out of band, there 
should be no technical reason why this won't work...in other words, I never 
have to actually decode the G.723.1 stream. The messages can be stored in 
G.723,1 format already, so I never have to encode either.

However, I have not been able to discern whether Asterisk will work in this 
mode or not. Can someone who has actually implemented an Asterisk system 
using G.723.1 in pass thru enlighten me? The documentation on this is very 
confusing. Will it use the out of band H.245 messages to detect a DTMF tone?

Since there is no technical reason it should not work, if the answer is it 
doesn't work can someone give me a hint on what must be changed to make it 
functional? I would certainly be willing to put in a little effort to make 
this functional if it isn't already and someone can give me some 
instructions on where to begin.

Thanks in advance for any assistance,
Chris
___
Asterisk-Users mailing list
Asterisk-Users@lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Re: Fw: Asterisk R2 Signaling

2004-09-17 Thread Chris Ziomkowski
I did quite a bit of work on this library about a year ago. In the end, I 
abandoned it because the project went belly up.

I can tell you this much
MFC-R2 for Argentina is the default configuration and looked fairly well 
supported in the source code. I, of course. couldn't check it because I'm 
not in Argentina, but my guess is it would probably work with only minor if 
any modifications.

The big drawback however is that it only works for incoming calls. If you 
want to do outbound, forget it. I had to write the outbound dialing 
routines from scratch.

So, if you're looking for inbound IVR type stuff and you are in Argentina, 
I would recommend getting the MFC library from Mark. It is available but 
not advertised in the CVS tree. He put it in there for me last year.

You can probably make it work with not a lot of effort, but it does take 
some coaxing to get it to compile. I wouldn't try it without having someone 
around who is a pretty good developer to help you through the rough spots.

Good luck and let us know how this turns out for you.
Chris Ziomkowski
At 06:28 PM 9/17/2004 +0200, you wrote:
+++ Tenorio, Leandro [15/09/04 10:58 -0300]:
 I've seen a lot of times, people that try to get R2 MFC to *, most of 
them trying to use Dialogic Boards (BTW They 're Very expensive), none of 
them where succesfully,
 If you want to use PCI Cards on your server, why don?t u ask to your 
carrier to provide you E1/PRI? or better put a Gateway with E1s and SIP.

 I'm in Argentina also and I get PRI E1s from some of the Carriers

I'm from India and I'm trying to look for info abt E1 R2 and asterisk too.
What do u mean by put a gateway with E1's and SIP ? I dont know if any
providers provide E1/PRI who they need any extra hardware for that ?
--
regards
Vikram (http://www.vicramresearch.com)
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Does IAX pass ISDN result codes?

2003-11-05 Thread Chris Ziomkowski
At 08:34 PM 11/4/2003 -0600, you wrote:
Quoting Chris Ziomkowski [EMAIL PROTECTED]:
 I can't try this setup yet (still don't have the hardware), and have been
 trying to answer this question merely from the source code. So far, I have
 not been able to convince myself. Does anyone have definitive information
 on this?
Passing q931 disconnect causes doesnt work on iax.

rgrds
m.
Lovely. Yet another thing I'll have to hack up before I can get this 
project off the ground. It's a good thing asterisk is open source.

Thanks for the information Martin.

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] Does IAX pass ISDN result codes?

2003-11-04 Thread Chris Ziomkowski
Have a quick question.

In the following setup:

PC w/ E100P running EuroISDN = IAX = PC w/ E100P running EuroISDN

Calls come in on the first PC and are terminated out to the PSTN on the second.
Do the ISDN cause codes get transferred correctly in this situation?
I can't try this setup yet (still don't have the hardware), and have been 
trying to answer this question merely from the source code. So far, I have 
not been able to convince myself. Does anyone have definitive information 
on this?

Thanks for any assistance,

Chris Ziomkowski

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


RE: [Asterisk-Users] Absolute Minimum Installation Packages

2003-10-31 Thread Chris Ziomkowski
At 10:24 AM 10/31/2003 -0600, you wrote:
I can understand the size concerns for putting it in an appliance or
what-not.  However, my opinion is that, due to the low cost of hard disk
space, it is cheaper for the company to go out and buy another hard disk
to replace the extra 500 MB they wasted on a sub-optimal installation
than to pay me to try to get the installation as small as possible.
What are the benefits to a really tiny installation, aside from possible
appliance applications?  Moreover, won't you still need a sizable hard
disk for voice prompts, voicemail messages, sound file to direct people
to dial the correct extension, etc?
Again, I may be WAY off track, but one of the things I really like about
* is that I can update it easily.  Wouldn't you lose some of the beauty
by putting it in an appliance?
Moreover, I HATE Nortel because they have a user-unfriendly interface,
proprietary controls, non-standard connections, and the like.  It seems
to me that by appliance-izing we would be inviting the same abuses that
the current systems enjoy.  I could see it becoming an issue of
open-source software on extremely proprietary hardware, meaning the user
can modify their system if they can figure out how to get in it.
Of course, all of this is in the assumption that the end-user wants to
own their PBX.  I know I do.  I think that we should be focusing on a
useful administrative interface, database-based extension definitions,
and other features that will advance the power, flexibility, and
usability of * instead of shrinking the distro as much as possible.
What am I missing?  I see many people much smarter than I am excited
about this, so I am sure I simply failed to consider how it will
revolutionize everything.
Awaiting your enlightenment (preferably sans-flame),
David Gomillion
2 things.

1) Your time might be alot cheaper than memory to a company who wanted to 
sell a product on this. $10 times 10,000 units is $100K. Just how valuable 
do you think your time is? It all depends on volume.

2) The obvious reason not to use a hard disk is reliability. If you are 
looking at mission critical applications, the hard disk in a PC is the most 
likely thing to fail. So you can either invest in an expensive RAID system 
to mitigate this problem, or else go to silicon storage devices. If you 
could get asterisk+linux down to 150 MB or so, then there is a cost 
effective way of compressing this system onto a 512 Mbit flash. Still can 
be a PC, just booting from flash instead of failure prone disk drives. If 
you want voice prompts, database, etc. do it on a PC externally via network 
storage.

I myself am very interested to hear how small one could make this. I think 
there is a entire segment of unexplored markets for an embedded asterisk 
system.

Chris Ziomkowski



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Brancaleoni
Matteo
Sent: Friday, October 31, 2003 8:48 AM
To: [EMAIL PROTECTED]
Subject: Re: [Asterisk-Users] Absolute Minimum Installation Packages
Hi.

Il ven, 2003-10-31 alle 02:31, JR Richardson ha scritto:
 I'm trying to get the total Linux/* installation size as small as
 possible.  I'm wondering if anyone has looked at the installed
 packages list from the Redhat installation [rpm -qa] and has parsed
 out all packages not needed for * to run.  I follow the custom install
 guide from Andy Powell but the installation yields 948+ Meg with 340
 installed packages.  I'm sure most of those packages can be
 eliminated.
I have a very little RedHat 9.0 installation that's about 504 MB,
with asterisk+sounds+some voicemail installed. Also devel
tools installed. Also apache+mysql+db, since we have many things
of asterisk moved onto a mysql db...
stripping away devel tools, I can manage a to have 450Mb RedHat 9.0.
surely big, but very small to be a RH ;)
--
Brancaleoni Matteo [EMAIL PROTECTED]
Espia - Emmegi Srl
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Answering Machine Detection

2003-10-29 Thread Chris Ziomkowski
Actually,

Back in '99, Dialogic used a very simple algorithm, and it was surprisingly 
accurate. You simply watch and see how long the initial greeting is. If it 
is short (say, only a few seconds), then it is generally a live person. 
However, if the initial greeting lasts for much longer (say 20 seconds) 
then you have contacted an answering machine.

That is one of the big reasons CPA on Dialogic used to give so many 
headaches on drop and insert applications. It would sometimes wait 10 
seconds before returning answer supervision to the application and the talk 
path would be cut through (Had to wait to determine whether it was a human 
or an answering machine). In this time, if a human answered, he would 
sometimes hangup because he wouldn't hear any response from the remote side.

Properly tuned, just watching how many seconds of energy you get in the 
initial greeting before silence sets in will give you 90% accuracy in 
determining answering machine or live person. There are always exceptions 
however. As a first guess though, you can assume anything less than 5-10 
seconds is human, anything greater is a machine.

Lots of ways to get it wrong though. Not recognizing a SIT tone and 
returning answering machine for circuit failure, not recognizing when 
ringing has ended and misinterpreting the hellohello as still being 
ringing cadence (Dialogic did this about 3% of the time). But in theory it 
should be trivial to implement in Asterisk. Might want to write a new 
energy detector algorithm in dsp.c though based on a wideband/low Q 
resonator approach (move the pole way in towards the origin) as opposed to 
narrow band goertzels (pole on the unit circle). More robust for this type 
of work.

Chris

At 08:24 PM 10/29/2003 +0800, you wrote:
Alastair Maw wrote:

On 27/10/03 21:57, DUSTIN WILDES wrote:

Does anyone have any recommendations on implementing Answering
Machine detection for call generation programs?


There's obviously no nice way of doing this.
If you're doing telemarketing, and you're playing pre-recorded audio, 
which of course is a nasty thing to do, the algorithm is something like:

1. Dial out.
2. Wait for answer.
3. Start playing audio.
4. If you hear something that sounds like a beep, either hang up
   and try again later, or stop the audio, pause for two seconds
   and start playing it again.
5. Hang up when finished playing audio.
Step 4 is accomplished by doing a FFT on the incoming audio into 
frequency buckets and taking a rolling average of the mean and standard 
deviation, such that you can detect when a fixed monotone beep occurs at 
the other end.
How very inefficient. Looking for peaks in the autocorrelation function 
requires much less compute.

If you don't want to play audio files and wait for beeps, and want to 
connect real humans to each other, then there's no decent way to do this, 
as the only difference between humans and arbitrary answering machines is 
that the answering machines give you a beep prompt to record your message.
Right. Dialogic and others make a big fuss of the super detection 
algorithms, and quote 90+% accuracy. In the real world they are utterly 
useless. Call answering just doesn't fall into a sufficient redular patterm.

Regards,
Steve
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


RE: [Asterisk-Users] Answering Machine Detection

2003-10-29 Thread Chris Ziomkowski
At 09:17 AM 10/29/2003 -0500, you wrote:
Might want to write a new
 energy detector algorithm in dsp.c though based on a wideband/low Q
 resonator approach (move the pole way in towards the origin)
 as opposed to
 narrow band goertzels (pole on the unit circle). More robust
 for this type
 of work.
Where does one go to learn this terminology and the math to implement it?
Caltech. Take PP's class. Just don't fail.

Seriously, any introductory book on filter design. When you design a 
filter, you write out the transfer function. zeroes in the numerator are 
called zeroes. Zeroes in the denominator are called poles. A filter 
will pass frequencies near its poles. It will suppress frequencies near its 
zeroes. As you move poles out towards the unit circle, the filter becomes 
less stable. You can imagine a hitting a filter with a burst at a single 
frequency. A filter with poles near the origin will die off very quickly. 
As you move towards the unit circle, the filter will ring longer and 
longer. On the unit circle there is no dampening at all. Outside of the 
unit circle, the filter becomes divergent. The order of the filter is 
simply the number of zeroes.

Goertzel (named after the guy who invented them) filters have their poles 
on the unit circle. Asterisk uses these to recognize DTMF and other tones. 
They are easy to calculate mathematically, but they have terrible 
properties if you need a wide frequency response over a sustained period. A 
resonator is essentially the same filter but moved inside the unit circle 
so that it will relax over time. It takes a few more operations to 
calculate, but you have alot more control over the final shape.

If you are interested, I would suggest getting a book on the subject. Just 
go to Amazon and find one you think meets your requirements. There are 
several.  Any book on Digital Signal Processing will have at least a few 
chapters on filter design. Pay specific attention to the chapters on IIR 
filters. They will teach you about poles, zeroes and stability.

I would also recommend this tutorial on the web if you're interested:

http://www.dewtronics.com/tutorial.html

Chris




--
Scanned for viruses and dangerous content at
http://www.oneunified.net and is believed to be clean.
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Answering Machine Detection

2003-10-29 Thread Chris Ziomkowski
At 11:52 PM 10/29/2003 +0800, you wrote:
Ray Burkholder wrote:

Might want to write a new
energy detector algorithm in dsp.c though based on a wideband/low Q 
resonator approach (move the pole way in towards the origin) as opposed 
to narrow band goertzels (pole on the unit circle). More robust for this 
type of work.

Where does one go to learn this terminology and the math to implement it?
Apparantly not to this source. :-) A Goertzel filter finds one output bin 
of a DFT. Since the width of the bins in a DFT is directly related to the 
number of samples you include in a processed block, the width of the 
Goertzel is too. A Geortzel is as wide or as narrow as you want it to be. 
Oh, and k does not need to be an integer, unless you are trying to 
evaluate phase. That is a common misconception. There is a sliding window 
version of a Goertzel filter, but this has the same characteristics as the 
standard version, as it is just a trick for calculating a continuous 
stream of Goertzels efficiently.
Now, now, Steve. Let's not get personal. You are correct. I am also 
correct. It depends on how you look at it. A Goerzel is only as wide as you 
want it to be if you have short periods and/or infinite representation. 
Goertzels are on the unit circle, and as such on the edge of stability. 
They never dampen their responses, so they will grow infinitely large if 
you keep ringing them.

Try using them on a 16 bit fixed point DSP and you'll understand how 
important this point really is.

Regards,
Steve
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] Oh323 segmentation fault in asterisk...

2003-10-28 Thread Chris Ziomkowski
This looks like the same case as the thread:

Problem ATA-711-723-Oh323-Asterisk that was posted back in August.

Although, given the nature of trampled memory problems it could be almost 
anything.

The Oh323 library dies in a call to realloc. This is almost certainly 
indicative of someone stomping on memory somewhere previously, or else a 
memory bug in the pwlib library itself. (Which I find hard to believe given 
the several years its been around.) My suspicion is an out of bounds memory 
access previously.

Here is the trace:

(gdb) where
#0  0x4207b2ef in chunk_realloc () from /lib/i686/libc.so.6
#1  0x4207b1f8 in realloc () from /lib/i686/libc.so.6
#2  0x489d2176 in PAbstractArray::SetSize ()
   from /usr/local/lib/libpt_linux_x86_r.so.1.5.2
#3  0x489d1a3d in PContainer::SetMinSize ()
   from /usr/local/lib/libpt_linux_x86_r.so.1.5.2
#4  0x483eedd7 in RTP_DataFrame::SetPayloadSize ()
   from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
#5  0x483d73c9 in H323_RTPChannel::Transmit ()
   from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
#6  0x483d497c in H323LogicalChannelThread::Main ()
   from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
#7  0x489ca634 in PThread::PX_ThreadStart ()
   from /usr/local/lib/libpt_linux_x86_r.so.1.5.2
#8  0x4003bfef in pthread_start_thread () from /lib/i686/libpthread.so.0
#9  0x4003c0df in pthread_start_thread_event () from /lib/i686/libpthread.so.0
This happens the instant the call connects to Asterisk, exactly as the 
previous poster back in August described.  Tried various frame sizes, 
nothing seems to help. G.711 is the only codec in common between the 2 
systems. (Quintum A400 Tenor and Asterisk).

Does anyone know if this previous issue was ever resolved, and if so, 
how?  I have to make this work, and tracking down a bad memory access in 
unfamiliar code is a task so unappealing that I'd place it right behind 
pulling off my fingernails and pouring salt over the open wounds. (Not to 
mention I am not a C++ person at all, so digging through the Oh323 code 
will prove a formidable challenge.)

Are other people having success with Oh323 and G.711? If so, can anyone 
send me the oh323.conf that they are using? Perhaps it is a combination of 
flags that causes the issue.

Otherwise, can anyone suggest a place to start/offer assistance?

Thanks,

Chris Ziomkowski

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] Best performing CPU for G.729 codec?

2003-10-22 Thread Chris Ziomkowski
Hi everyone,

I need to build a machine capable of running at least 30 G.729 channels 
with lots of room to spare because it will be doing some other CPU 
intensive tasks also.

I've seen Mark's post about being able to run 60 channels on a dual 1.8 
Xeon, but that unfortunately raises more questions than it answers.

You see, I may have to build many of these systems, and I need to find a 
good price/performance ratio, I can't simply go out and buy quad opteron 
systems for fun.  I was trying to find a processor for under $200 to handle 
this.

Given that, my question is: what constrains the G.729 codec? Is it mostly 
due to branches (implying a dual CPU or P4 HT architecture will be 
required) or is it mostly due to floating point (in which case a lower 
speed AMD might be able to accomplish the same task cheaper and better.)

Anyone have any ideas on this? Looking for feedback.

BTW, can someone answer how the G.729 licensing works? If I change the CPU 
and motherboard (probably necessitating a kernel change), will my licenses 
still be valid? What exactly are they keyed to?

Thanks for input on this topic.

Chris Ziomkowski

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Best performing CPU for G.729 codec?

2003-10-22 Thread Chris Ziomkowski
At 09:19 AM 10/22/2003 -0700, you wrote:
I hate to say it, but jumpping off into a 100 channel PBX is not
the way to go with Asterisk.  Build a 1x1 PBX first on an old
Pentium 500. get this to work then try adding SIP phones then
add some other features.  After you've spent some time you will
not need to ask the above.  In fact I'd say if you need to ask
Guys,

Thanks for all the helpful advice, but I think we're getting off topic.
I have specific engineering requirements I have to meet. I can not
change my problem space. I need a 30 user G.729 (not 100's)
plus custom apps, single box solution. No buts, and I need to make
it as cheap as possible. This is for Thailand...you can spend $100
on an overpowered computer or you can feed your family for a
month. (No joke!) Price mattersalot.  I don't want it to scale.
My problem space is fixed. I don't need to build a general purpose
PBX.
What I really want to know is, what are the constraints of the G.729
codec? Does anyone have any real world experience implementing
this, and is the resource utilization a result of mathematical floating
point calculations, or a result of branches and sequential processing
instructions?
Can anyone give me some solid advice here on how resources are
being used?
What you've taught me so far is:

A) you believe that MP or HT will help the performance. Problem is, these
are expensive solutions. Can you quantify this answer at all? How much
will it help, and would it help more than additional floating point 
performance?

B) The G.729 codec is linked to the hardware, so I can't even experiment
without having to pay for it each time.
Question...is there anyway to transfer the G.729 licenses from one system to
another when I don't want them anymore? I need to answer this questions, and
paying $300 everytime I need to check out a new architecture (and worse than
that waiting for 24 hours) simply isn't practical.
Does anyone have contact info for an engineer at Voiceage who can help
answer my questions? Is there a multi channel developers license available
that would transfer across different hardware architectures?
Thanks for your feedback,

Chris Ziomkowski

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users