For any of you who might be interested in learning more about FreeSwitch, a book is finally available
Written by the main authors of the product, the book can be found here
https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-telephony-systems/book
Have you ever run into this issue?
You write some managed code, set a breakpoint in the code, run the debugger, code stops on the breakpoint. While in the middle of intensely analyzing variables etc, suddenly....without warning....bloop...the debugger times out and stops. Visual Studio is reset to the non debugging state and you sit there frustrated that you didn’t find the problem with the code. So you start the debugger again etc, etc, etc...
I have been putting up with this behavior for 3 years now, and quite by accident I stumbled upon the solution. So for anyone else who may be fed up with the debugger timing out, here is what you can do about it.
First a little explanation about what is happening.
Apparently IIS periodically pings your worker process in order to ensure that it is still responsive. By default it will be pinging the process every 30 seconds, and the process will have 90 seconds to respond. If it doesn't respond in time it is terminated. This may be fine for a production or test machine as an application pool that has hung will be reset, but it is not great for a development machine.
What is happening is when you hit your breakpoint in the debugger, all execution stops, pending requests are not served and the worker process freezes completely. Of course since the worker process is frozen, it won’t respond to the pings from IIS and after about 90 seconds or so everything gets reset.
Here is what you can do to get past the problem...
- In IIS Manager, right click on the 'Speech Server App Pool'
- Select 'Advanced Settings
- In the 'Process Model' section, change 'Ping Enabled' to False
That’s it...I started the debugger, walked away, came back 30 minutes later and the debugger was still engaged...no more time outs....
Simple solution to a 3 year old aggravation
Hope this helps someone out along the way
Here is a video of a keynote by Gurdeep Singh Pall at VoiceCon 2010 that gives more info about Communications Server 14
http://www.voicecon.com/videos/playvideo/?vid=VCO-2010-1270150480
Although transcribing speech into text is not directly available from Speech Server, it is obviously becoming a huge item in todays market and will continue to evolve as an extremely efficient method of interacting with computers and devices.
Here on GotSpeech.NET there have been numerous posting from people asking about the best ways to transcribe wave files into text, train user profiles via code, etc...but no clear cut solutions to what seem to be tricky issues.
For those of you who want to learn more about speech to text, there is a very interesting video fro Microsoft Research that came out of MIX 10 which deals with audio/video content and speech recognition.
http://live.visitmix.com/MIX10/Sessions/FTL03
Chris Mayo has a blog post that contains a little more info about the next version of OCS
You can check it out here
http://blogs.msdn.com/cmayo/pages/uc-14-developer-faq.aspx
And also a post about the early adopter program
http://blogs.msdn.com/cmayo/archive/2009/11/20/uc-14-metro-ocs-14-oc-14-platform-early-adopter-program.aspx
In Part 5 of the Speech Server 2007 marries FreeSwitch series, we will be setting up FreeSwitch to take outgoing calls from Speech Server and send them off to the PSTN. www.VerbalBusiness.com is only available to North American Customers at this time, so I only need termination service for Canada and USA.
The process here is very similar to what we already went through with setting up to receive calls from the PSTN...we need an ITSP that offers Termination service and we need to do a couple of things to setup FreeSwitch.
So first off, lets get an ITSP that offers termination service. Since I used www.DidForSale.com for the origination service, I figured that I would use them for termination as well. Although not outlined very well on their web site, they do offer termination service, but I found their prices to be higher than other places. Most companies seem to offer termination service based on per minute charges and not a flat monthly rate. So off I went shopping to try and find a cheaper alternative.
I decided on www.Voip.ms. They offer termination service to Canada for aprox. 1/2 cent a minute and to the US at aprox. 1 cent/minute when you use their 'Value Route'. If you are willing to pay slightly more you can use their 'Premium Route' which is a flat rate of aprox. 1 1/4 cents/minute for both Countries.
I took this from the FAQ section on their web site, which explains the difference between their 'Value' and 'Premium' routes
What's the difference between your value and premium route for USA/Canada.
Value is the greatest price we could find for Canada and USA. This permit us to offer Canada starting as low as 1/2 cent per minute, depending on location, and USA at a flat rate of 0.0105. Our value rate is of the best quality we could find and targeted at endusers and resellers who are looking for the best wholesale prices without any volume commitment.
Premium has a flat rate of 0.0125 for both USA and Canada and is routed through established and renowned tier-1 carriers always delivering the same level of quality, at a price that is a little higher than our value option. This price is intended to end-users with critical business calls or resellers who are willing to pay a little more for assured quality, but still less than other US48 tier-1 providers.
What are the billing increments?
USA and Canada: 6 seconds initial, 6 seconds increment
Do you pass callerid?
On our premium route, All US/Canada destinations will receive proper callerid. On the value route, we can not guarantee callerid will pass 100% of the time but it should in most cases.
As far as the passing of Caller ID is concerned, my experience has been a little different. If I set my account to 'Premium Route', I do indeed get caller id passed to the person receiving the call, but if I try to use the 'Value Route', the person receiving the call never gets proper caller id. What shows is an 819 exchange number which I assume is comming from the ITSP.
Since www.VerbalBusiness.com has the ability to transfer calls to another party, it would be best if the original callers id was passed, so it looks like it will be the 'Premium Route' for me.
At any rate, here is the process of setting up with www.Voiup.ms
First thing you need to do is to signup for an account. Simply click on the 'SignUp' link on the toolbar that you see at the top of their home page. The process is straight forward so I won't cover it here.
Once you have an account you can login by clicking on the 'Login' link on the top toolbar, which takes you to this login page

Simply enter in your credentials, click on the 'Login' button and you will be re-directed to the page that is partially shown below
First step is to setup the account for our needs. Click on 'Main Menu' on the toolbar and then select 'Account Settings' from the drop down menu and you will be taken to the following page

Some of the items that are controlled by the ITSP via settings on this page, are already controlled by my IVR application www.VerbalBusiness.com. For example, VerbalBusiness does not allow the calling of a telephone number outside of Canada or the USA, so International calling is not an issue for me.
I am not 100% sure what all of these settings do, but I have set my account up as follows...
USA48/Canada Routing - I have selected 'Premium' for the Caller ID reasons that I mentioned above
International Routing - I just left this at 'Value', it doesnt come into play as I have shut International Routing off (see below)
Toll-Free Routing - I just left this at 'Value', it doesn't come into play
Allow 411 dialing - I have set this value to 'No'
Allow International Calls - I have set this value to 'No'
Dialing Mode - I have set this to 'North America'
CallerID Number - FreeSwitch will take care of passing the CallerId, so I left this blank
Voicemail Associated to the Main Account - I have set this to 'None'
Music On Hold - I have set this to 'None'
Display SIP and IAX password(s) in Customer Portal - I have set this to 'Disabled'
Customer Portal Password - Used for changing the password of the account.
Main SIP/IAX Password - Used for changing the SIP Password that was issued during registartion
Protocol for inbound DIDs - I have set this to 'SIP'
Device type - I have this set to 'IP PBX Server, Asterisk or SoftSwitch'
Balance Threshold - an email will be set to me when the money I have in my account drops below this level
Email - this is the address of where the threshold email will go
NAT (Network Address Translation) - I have this set to 'No'
DTMF Mode - I have this set to 'Auto'
Allowed Codecs - I have checked G.711U and G.729
Now, click on 'Main Menu' on the toolbar and then select 'Account Information' from the drop down menu and you will be taken to the following page
Make note of the area that is indicated by the red arrow. This tells us that FreeSwitch is not registered itself with VOIP.ms yet, which makes sense since we need to do some FreeSwitch configuration before it can register itself
So lets now start on the FreeSwitch end of the configuration for outgoing calls, which involves adding 2 xml files.
The first file goes into the FreeSwitch\Conf\Sip_Profiles\External folder as shown below
I called the file VoipMs.xml and its contents are as follows...
<include>
<gateway name="VoipMs">
<param name="username" value="XXXXXXXX" />
<param name="password" value="XXXXXXXXX" />
<param name="proxy" value="sip.ca2.voip.ms" />
<param name="realm" value="sip.ca2.voip.ms" />
<param name="register" value="true" />
</gateway>
</include>
You will need to use the "username" and "password" values that you received from VOIP.ms in this file.
The next file goes into the "FreeSwitch\Conf\Dialplan\Public folder as shown below...
I called the file VoipMs.xml and its contents are as follows...
<include>
<extension name="VoipMs">
<condition field="destination_number" expression="^1?(\d{10})$">
<action application="set" data="effective_caller_id_number=${inbound_caller_id_number}"/>
<action application="set" data="effective_caller_id_name=${inbound_caller_id_name}"/>
<action application="bridge" data="sofia/gateway/VoipMs/1$1"/>
</condition>
</extension>
</include>
Restart Freeswitch and you should be done.
Now that FreeSwitch is properly configured, if you go back to
www.Voip.ms, login and select 'Main Menu' and then 'Account Information', you will now see that FreeSwitch has registered with VOIP.ms on the Toronto server, as shown below. You can change the server that you register with by changing the SIP Profile xml file that we created earlier.
That should be all that is necessary to get Speech Server placing outgoing calls to the PSTN. The setup that I have outligned above has allowed the IVR application that is associated with
www.VerbalBusiness.com, to place outgoing calls to the PSTN, complete with caller id, as well as to perform blind transfers.
So that about wraps up part 5 of the series. However, I have discovered a problem in my FreeSwitch setup.
If you call my IVR application at 248-257-8002, you may notice that the Speech Server application has already started the first welcome prompt before the call is answered. You should hear 'Welcome to Verbal Business dot com'...what you may hear is ''bal Business dot com'...or...'Business dot com'.....
Not sure why this is happening, but I need to get to the bottom of it. So in Part 6 I will be documenting how I went about tracking down the issue, so that you can find out where you can go to get help with FreeSwitch problems.
Thanks for reading
In Part 4 of this series, I neglected to mention that you need to setup FreeSwitch as a Trusted Peer in Speech Server 2007 before Speech Server 2007 will answer the incomming calls.
Nothing new or special to do here, pretty standard Speech Server 2007 setup stuff, but I thought I would mention it anyway.
I am currently working on Part 5 and should have it available shortly
Now that we have FreeSwitch installed on the same box as Speech Server 2007, its time to setup FreeSwitch so that it can receive phone calls from the PSTN and pass those calls off to Speech Server 2007. As you recall, one of the requirements that I had for www.VerbalBusiness.com was that the speech end of things needed to be able to receive calls fom the PSTN.
My first task was to find an ITSP that provided origination service. There are tons of them out there, but I decided on www.DidForSale.com, their home page is shown below

For $ 8.99 US per month they gave me a DID with 20 channels. Which from my understanding means that 20 people could be calling the VerbalBusiness voice app at the same time and all of them would get through. Caller # 21 would get a busy signal...but since the site is just starting out, 20 simultaneous callers is probably not going to happen for a while.
Also, once you signup for an account, they will give you a test DID for 6 hours so that you can play with their service before giving them any money. So I will run through the process of getting a test DID and using that DID as our incomming number for the application.
First thing you need to do is to signup for an account. Simply click on the 'SignUp' link on the toolbar that you see at the top of their home page. The process is straight forward so I won't cover it here.
Once you have an account you can login by clicking on the 'My Account' link which takes you to this login page

Once you get past the 'Login' page you will arrive at your main account page as shown below

The first thing to do is to get a test DID.
Click on the 'Testing Centre' link on the left hand menu and you will be taken to the following page
Click on the "Select DID >>" link in the middle of the page. You will be redirected to the following page

At the time that I was doing this blog post, there were 6 DIDs available for testing. Lets select the first one 312-780-0494 by selecting its radio button and then clicking on the 'Submit' button. This DID is now reserver for our use for a period of 6 hours. After the 6 hours have expired the DID will return to the testing pool. However you can go back and reserve it for another 6 hours should you need to.
Next step is to tell DIDforSale.com the IP Address of the box where we have FreeSwitch setup. I will use a ficticious IP Address here of 72.38.20.169. In order to setup this IP address, click the 'Manage IP' link in the left hand menu, which will take you to the following page

At this point, enter the following for each field
FreeSwitch defaults to using port 5080 to receive calls. Click the 'Add' button and your IP address and Port will be saved.
The last step is to associate the IP address that we just entered with the test DID we obtained earlier. Click on the 'Manage DID' link on the left hand side menu and you will be taken to the following page.

Next, click on the Search button and the following screen will be displayed

Next, put a check in the boxes as shown by the red arrows and then click the 'Save' button, as shown below
What this has done is associate our test DID that we obtained earlier with the IP address of the box we have FreeSwitch running on. This now means that when ever someone dials 312-780-0494, DIDforSale.com will pass that call off to IP address 72.38.20.169 on port 5080, which is our FreeSwitch box. End result is that our FreeSwitch should now answer calls placed to 312-780-0494.
So thats it for setup at the ITSP, now lets turn our attention to finishing the FreeSwitch setup. FreeSwitch will now answer calls made to 312-780-0494, but after it has answered the call, we need it to pass the call off to Speech Serevr 2007
This is done by creating a dialplan. The file will be called "Inbound_3127800494 .xml" and will be located in the FreeSwitch\conf\dialplan\public folder as shown below

This is a simple XML file that can be created with any text editor. The contents of Inbound_3127800494 .xml are as follows
<extension name="Inbound_3127800494">
<condition field='destination_number' expression='3127800494'>
<action application="bridge" data="sofia/internal/3127800494@127.0.0.1:5060;transport=tcp"/>
</condition>
</extension>
What this file does is it tells FreeSwitch to send any call received from 312-780-0494 directly to 127.0.0.1:5060 (our Speech Server Speech installation) using TCP as the transport protocol.
Save the newly created XML file and then restart FreeSwitch and Speech Server 2007. Please remember from Part # 1 to start FreeSwitch first and then start Speech Server 2007.
Lastly, since the call to FreeSwitch will be arriving on port 5080, I had to open Port 5080 in Windows Firewall which is running on the box.
Thats all there is to it. Now when you dial 312-780-0494 Speech Server will answer the call. You will also see all kinds of messages showing up in the DOS box that was openned by FreeSwitch. These messages are a little hard to read, but provide valuable information into what FreeSwitch is doing when the call arrives.
So thats about it for Part 4. The next instalment will be called "Speech Server 2007 marries FreeSwitch - Part 5 – Placing Calls", and will describe in detail the setup for making calls from Speech Server 2007 and getting FreeSwitch to forward them off to the PSTN.
Thanks for reading
In Parts 1 and 2 of this series of blog posts, I outlined www.VerbalBusiness.com, the application I have created, what it does and its needs for telephone lines. In this 3rd installment, we are actually going to install FreeSwitch and get it running on our box.
Please note that I will be setting up FreeSwitch on the same box that Speech Server 2007 is running on. You could of course install them on separate boxes, but since I only have 1 box at the hosting provider I will be installing everything on the same machine.
Installing FreeSwitch
In Part 2, I outlined where you can get the latest Windows install package for FreeSwitch, so I will assume you have downloaded the installer. To launch the installation process, simply double click on the exe file that you downloaded.
This is a pretty simple straight forward install. I have shown the screens below. For each step, I just chose the default values. Also, I have placed notes along the way that show questions that I had as I did the install.


I wasn’t sure about this next step….there are 3 choices in the drop down, why I need one of the 2 PBXs listed is beyond me and I don’t know if I needed the sound files, but I just left the defaults and moved on.




The installation process now begins and the following screen show progress as things move along

When the installation process nears completion, you will get a few DOS boxes popping up over the progress dialog as shown below

I am assuming the next screen is used for sending mail if you are writing extensions to the FreeSwitch program, but I am not sure…again I just chose the default values and moved on

And then things finished up with the following screen

Now again I suppose that the WAMP Server (includes Apache 2, PHP 5 and MySQL ) is for development work geared toward extending FreeSwitch and since we will not be doing any of that, we will not be starting the WAMP Server.
After FreeSwitch has been installed you will have the following folders setup on your machine

Most of these folders are not used for basic customization, in fact, the only files I have ever touched are under the FreeSwitch\conf folder as shown below. I will say more about these folders in future editions of this series.

Starting FreeSwitch
You can now start FreeSwitch by double clicking on the desktop icon or by going to Start->Programs->FreeSwitch and clicking on the FreeSwitch icon
You will see a DOS box open up…lots of stuff will be going on, and after sometime you will be left with something like this…

FreeSwitch is now running on your computer. When FreeSwitch answers a call or you place a call you will see all kinds of activity going on in this window, which will disect in a later blog posting.
Account FreeSwitch Runs Under
At this point FreeSwitch runs under the account of the person who installed it. For this example, I am logged into my computer as Administrator, so FreeSwitch runs under the local Administrator account.
Now this may or may not be acceptable for your situation. For me it was not.
I am installing FreeSwitch on a Dedicated Host that is located in another city. When I access the machine via Remote Desktop, I log in as Administrator, start FreeSwitch which runs under the local Administrator account…all is well until I log off…at that point FreeSwitch shuts down…obviouly this is not good. Also, I want FreeSwitch to automatically start should the need arise for the Dedicated Host to be re-booted.
Installing as a Windows Service should probably be what I needed to do.
Installing FreeSwitch As A Windows Service
Turns out that there is just one more step that is needed to get FreeSwitch to startup as a Windows Service. You need to open a DOS box at the directory where you installed FreeSwitch and type
FreeSwitch –install
As shown below…

This installs FreeSwitch as a Windows Service which you can see by going into Start->Programs->AdministrativeTools->Services as shown below

Now for my situation, when I installed FreeSwitch as a Windows Service, it got setup to run under the Local System account. I have read postings from other people who ran into problems because FreeSwitch was setup to run under the Network Service account. These people were complaining about the fact that the FreeSwitch Service would start and then immediately shut down. The solution was to either give the NetWork Service account rights to the FreeSwitch folder or change the account that the FreeSwitch Service ran under to the Local System account.
Un-Installing FreeSwitch As A Windows Service
To Uninstall FreeSwitch as a Windows Service, you need to open a DOS box at the directory where you installed FreeSwitch and type
FreeSwitch –uninstall
As shown below….

Now if you see the following error when you try to install FreeSwitch as a Service…

This means that it is already installed a a Service. So you can just leave it at this point, or uninstall and then reinstall as outlined above.
At any rate, you should now have FreeSwitch running as a Service. You will need to start it manually the first time or restart your computer.
Getting the FreeSwitch Service to ReStart after Machine ReBoot
If you want the FreeSwitch Service to restart each time the host machine is rebooted then make sure the Startup type is set to Automatic. To do this right click on the Service and select Properties. Then set the StartUp Type to Automatic as shown below

Final Thoughts
Before I wrap up Part 3 of this series, I wanted to mention a couple of things
First of all, as I mentioned earlier, when you start FreeSwitch you are presented with a DOS box that provides all kinds of feedback when calls are received or placed. This feedback can be very helpful when you are just setting up and learning FreeSwitch. If you install as a Service, this DOS box is no longer shown. So for the rest of this series, I will not install as a service so that we can discuss the messages that FreeSwitch sends us.
And lastly, I cant stress this point enough....if you are running FreeSwitch And Speech Server 2007 on the same box…
FreeSwitch must be started before Speech Server 2007 !!!
I would be embarrased to tell you how long I spent on this issue !!!
One of the initial problems that I encoutered was the fact that FreeSwitch would allways give me an ‘Invalid Profile’ error. Turns out the problem is that FreeSwitch needs to be started first beofe Speech Server 2007. Not sure why, but the problem is consistant and starting FreeSwitch first resolves the issue.
This really comes into play when you are setting up and constantly making changes to the FreeSwitch environment and needing to start and stop FreeSwitch.
So the process needs to be...
This does not seem to be an issue if you install FreeSwitch as a Service. I can reboot my server and everything is ok.
So thats about it for Part 3. The next instalment will be called "Speech Server 2007 marries FreeSwitch - Part 4 – Receiving Calls", and will describe in detail the setup and receiving of calls from an ITSP and forwarding them off to Speech Server 2007.
Thanks for reading
As I mentioned in Part 1, I have developed an application called VerbalBusiness that is a cross between a web and an IVR application.
The web application is located at www.VerbalBusiness.com and has 2 parts...Contact Management and Expense Management. Geared towards small business owners (who don't have a smart phone and associated monthly data plan), www.VerbalBusiness.com allows users to sign up for an account and enter Contact and/or Expense account information.
After the data has been setup, the user can do the following by placing a call from their cell or land line phone.
- Enter incurred expense amounts against expense accounts
- Access Contact information such as mailing address, email address, telephone numbers data
- Send Verbal Emails to contacts
- Redirect the phone call to a contact via a blind transfer
- Receive a call back from the application to avoid long distance and/or cell phone air time charges
Ok, enough of the overview of my application, now lets talk about how I upgraded my telephone line setup
After much reading, I started looking for an Internet Telephony Service Provider (ITSP) that could provide a SIP trunk for connection to the traditional PSTN network. VerbalBusiness handles incoming as well as places outgoing calls. When I went to upgrade, I quickly discovered that in the ITSP world, not only are incoming and outgoing calls handled separately, but they are not even called incoming and outgoing calls.
An ITSP offers termination and/or origination services. In order for my Speech Server application to accept an incoming call I needed an Origination service (call originates on the PSTN) and for outgoing calls I needed a Termination service (call terminates on the PSTN)
There are hundreds of ITSPs out there that support SIP over UDP, but I could not find one that did SIP over TCP, so a direct connection between Speech Server 2007 and an ITSP seemed to be out of the question.
Realizing that I needed something between the ITSP and Speech Server 2007, I started to read up on FreeSwitch
From the Freeswitch web site...
"FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven
products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX,
a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow."
Now I was not sure what all of that meant, (and I am still not sure), but I did read that there was a version of FreeSwitch that ran on Windows and it could do SIP over TCP, so what I set out to do was the following setup...

Before I finish with Part 2, I wanted to outline where you can get FreeSwitch and what resources are available for support. The FreeSwitch web site is located at www.FreeeSwitch.org, where you can find not only the application but also plenty of documentation. The following is taken from the FAQ on the FreeSwitch web site.
Getting Help
Q: Is there any documentation available?
Yes. There are over 500 pages of documentation available at http://wiki.freeswitch.org/wiki/Documentation.
Q: Do you guys support IRC?
Yes. Volunteers who are both novice and experts with FreeSWITCH (and everything in between) gather
in #freeswitch on irc.freenode.net. You can use many IRC chat clients to connect such
as mIRC for Windows, Limechat for Mac/OSX, Irssi or XChat for Unix-like systems, ChatZilla for Mozilla
browsers or any other standard IRC program. We primarily speak English there, however, we do have an
automated translation service for many other languages.
Q: Do you guys run a teleconference where I can talk about FreeSWITCH?
Yes! We support a variety of methods to call us - these all go to the same place:
SIP: 888@conference.freeswitch.org
H.323: 888@conference.freeswitch.org
Google Talk/Jingle: freeswitch@gmail.com
Google Talk/Jingle: 888@jabber.asterlink.com
IAX: guest@conference.freeswitch.org/888
Q: Do you have a mailing list where I can ask questions about FreeSWITCH?
We sure do. To sign up you can goto http://lists.freeswitch.org
I am signed up for the mailing list and I get about 20 FreeSwitch emails a day.
FreeSwitch is continually being developed and improved upon. Most days a new version of the source code is made available. As I write this blog post, Version 1.05 is getting close to being completed.
You can get the source code and then compile it. However, if like me, you are not interested in building the source code, there is a precompiled up to date Windows version available here
http://files.freeswitch.org/windows_installer/freeswitch-1.0.4.exe
So thats about it for Part 2. The next instalment will be called "Speech Server 2007 marries FreeSwitch - Part 3 - Installation", and will describe in detail the installation process for FreeSwitch.
Thanks for reading
For quite some time now, I have been developing an application that is a cross between a web site and an IVR app. The web site is an ASP.NET application and the IVR part is a Speech Server 2007 managed code application. The site is located at www.VerbalBusiness.com
The basic idea behind the site is that you setup your information at www.VerbalBusiness.com and then you can verbally access or add to your information while you are on the go by dialling a telephone number from your cell or land line phone.
Until recently both applications ran on a box in my basement, and I had one telephone line that I could use to dial into the application. This was good and cheap for development and initial testing, but obviously I needed to make changes before the applications could be released.
Setting up the web site in a hosted environment was pretty much routine, but I had no clue as to what I was going to do when it came to the telephone lines. You see before I became involved with Speech Server 2007, the only thing I knew about a telephone was that you picked it up and said hello when it rang. As I mentioned in previous blog postings, I have done the telephone lines for my Speech Server applications via a Brooktrout TR1000 board and more recently with a Dialogic Analog Media gateway.
Since I have never really dealt with the SIP end of things, I knew it would be a struggle to get things setup properly. So armed with a few buzz words like SIP, TCP vs. UDP, and Freeswitch I set out upgrade so that my application could be accessed by many users. It took me quite a while, but I finally have things working.
In the next few blog posts I will be documenting my experiences with marrying Speech Server 2007 and FreeSwitch. The instructions that I give will be very in depth and I will not be glossing over any of the details. Hopefully this will make it easier for anyone who is trying to setup FreeSwitch, but most importantly, I know that someday I will have to set everything up again...so I am going to document it all in detail now...so I don’t have to fight with it later.
Please note as you follow along with my instructions that I am no FreeSwitch expert. What I have done is setup FreeSwitch to work with Speech Server 2007, but I am sure there are many areas that could do with improvement...especially security.
I welcome your comments and advice...over time I hope these instructions can be enhanced from others as well
Finally, I would like to thank Marshall Harrison and Jon Poploskie, who both took the time to help me out with my FreeSwitch setup by answering some questions which I am sure were quite trivial.
The next part in this series of blog posts will be called...
Speech Server 2007 marries FreeSwitch - Part 2 - Application Overview & Goals
Thanks for reading
Found this link on Chris Mayo's blog and thought it might be of interest to everyone
http://microsoftpdc.com/Sessions/P09-12?type=wmvhigh
Seems as though there is an update available for Speech Server 2007 containing all fixes up to April 2009
You can get it here...
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4d8b068b-3c45-4eea-bbc8-c4a4c4201f60
I will post again soon with more info that I have discovered as I continue my journey to rid the world of the keyboard, one spoken word at a time...
Thanks for reading
For anyone who is looking to buy a Dialogic Media Gateway, I just received an eamil from ScanSource which outlines a sale they are having for first time purchasers
Here is the link
http://www.scansourcecommunications.com/Manufacturer%20Partners/All%20Manufacturers/Dialogic%20Spotlight/Promotions/NewGatewayStarterKit.aspx
I will post again soon with more info that I have discovered as I continue my journey to rid the world of the keyboard, one spoken word at a time...
Thanks for reading
Brian Campbell
As I mentioned previously, I have a full time C# gig that sometimes restricts the time I can spend with Speech Server 2007, which has certainly been the case over the past couple of months.
But I did manage to get involved with an issue regarding who/what is answering an outbound call placed by Speech Server. I had a requirment while working part time on a Speech Server application, to be able to tell if an outbound call was picked up by a live person, an answering machine or a fax machine. Of course the first 2 can be handled by the DetectAnsweringMachine activity, but answered by a fax machine...who knows !!
After a post here on gotspeech.net, (http://gotspeech.net/forums/thread/5090.aspx) and some poking around, I managed to create a little test application that reads call progress info provided by the gateway. I have a Dialogic DMG1004LSW which reports very little data because of the fact that the current version of firmware does not provide the info. Apparently the next version (Version 6) will support reporting back on who/what picked up the outbound call.
This application has been tried on my Dialogic box as well as an Audio Codes gateway....neither returned any info...
So I thought I would make the application available to anyone who wanted to see if their gateway gives back any results. The application consists of a web app that places the phone call via an MSMQ queue...the results are written to the event log.
If anyone wants to have a look at this....possibly improve upon it...etc..etc...just leave me a message and I will be happy to send it to you
I will post again soon with more info that I have discovered as I continue my journey to rid the world of the keyboard, one spoken word at a time...
Thanks for reading
Brian Campbell