LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using LabVIEW to encode / decode VoIP

I need to decide how feasible this is before investing a lot of time into figuring out how to do it. I need to do several things, including:

1. decode IP packets from a VoIP terminal into LabVIEW array data that can be analyzed for amplitude and frequency content (generated from a DAQ AO port)

2. encode IP packets and send to a VoIP terminal, to be acquired by an DAQ AI port and analyzed

3. interpret other IP messages from a VoIP terminal for proper content

Is this feasible to do in LV8? Anyone done anyhting similar, like create a SIP based VoIP phone in LabVIEW?

Thanks!

Blair


0 Kudos
Message 1 of 10
(8,509 Views)

Hi Blair-

There's a Customer Submitted Example on the NI Developer Zone at the following link: Voice Over Internet Protocol

It looks to be relevant to your application, and if nothing else, it could serve as a foundation on which you could build.

Hope this helps!  Good luck!

Drew Pierce | District Manager, Central Texas | National Instruments
0 Kudos
Message 2 of 10
(8,468 Views)

Thanks, Drew. That looks like it would be real helpful, but I'm having trouble getting the file from the FTP server. It is probably related to my connection and firewall here at work. I can try later from home.

Can you check and see that the file is retrievable? I keep getting a page not found error.

Blair

0 Kudos
Message 3 of 10
(8,409 Views)
I was able to download the example with no problem. I had a look and while it does send voice over an Ethernet connection, I'm not sure it's really what you would call VoiP. Could you explain a bit more about what you have to do? I've done testing of VoiP products and will soon be doing a lot more. At one end, I have an FXS (voice) connection that I control (on hook, off hook, dial, etc.) and on the pc, a SIP phone that can answer a call. At the voice end, I can send a tone and at the pc end, the SIP phone is routed to a virtual sound card. Using the sound card VIs, I can read this signal and determine amplitude and frequency. I also use the sound card write functions to send a known tone that is read at the analog side. We got the SIP code from http://www.sipfoundry.org/. A lot of the VoiP solutions use SIP as the signalling protocol but some are proprietary so you will need the actual protocol information in order to be able to respond to or initiate a call.
0 Kudos
Message 4 of 10
(8,403 Views)

Hi Dennis,

I'm looking at using LabVIEW to test VoIP terminals. I need to generate IP packets to the terminal that correspond to a specific tone amplitude / frequency, which will be measured at the terminal's output by an AI port acquire, and need to decode the IP packets generated by the terminal from stimulus by an AO port write to measure the tone / frequency. Can you post some examples of what you have done or send them by e-mail? It sounds like you are doing something similar.

My other problem is I also need to interpret syslog messages that are transmitted by the terminal based upon events that occur, e.g. contact closures,

Thanks for your help,

Blair

0 Kudos
Message 5 of 10
(8,381 Views)
I was able to download the example last night at home. Must be a firewall problem here.
0 Kudos
Message 6 of 10
(8,381 Views)
I'm attaching a zip file with the source code for the SIP phone stuff. Note that if your terminal does not use SIP, this stuff will be worthless. I was not the one who wrote this program. That individual no longer works here. It's an ActiveX dll and there are several methods/properties that are used. I use TestStand to call these. I don't have the ActiveX server installed on my pc so I can't provide full details reight now but, to start, there is an Agent Create, Agent Show Window, Agent Initialize. Then, I make sure that the terminal side is on hook. Then there is the method Agent Receive Call. At the analog side, I thne go off hook and dial a phone number. The next method called is Agent Wait for Call Connect. When that finishes, the connection is established and I can send tones in both directions. You'll also need some of the tools from the SIP Foundry but I'm not which one right now. I'll post pack if I can find out exactly which one.
 
I'm also attaching some of my LabVIEW stuff. One is a VI that reads from the virtual sound card and determines the frequency and amplitude in dBm. One of the methods in the ActiveX dll is called PlayFile. We created some .wav files with 310, 1010, and 3210 Hz/0 dBm tones. Those are attached as well. I can't send the stuff I use for the analog receive/transmit. That uses a custom board that we built.
 
I'm sure that I've probably missed a few things that you would need to get this all to work. The virtual sound card software we got from http://software.muzychenko.net/eng/vac.html. Let me know how it goes and if you have any questions, I'll try my best to answer them
Download All
0 Kudos
Message 7 of 10
(8,369 Views)
Thanks, Dennis.
 
Yes, these are SIP based devices. Your examples should help considerably.  I really appreciate you posintg those.
 
Blair
 
 
0 Kudos
Message 8 of 10
(8,353 Views)
Your Software has one VI missing . It says couldnot find FXS get waveform subset.vi . Would be great help if you included that too.
Thanks
0 Kudos
Message 9 of 10
(7,872 Views)
I no longer work at the place where I developed the code. I think you can simply use Get Waveform Subset.
0 Kudos
Message 10 of 10
(7,863 Views)