Jump to content

How to route incoming calls to a speech server


jjjumper

Recommended Posts

Sorry for the complete newbie question here, but I've read through the trunk forum, the speech server integration forum and some others as well as the documentation (I could only find v2.0.1 even though I have 3.0.2998 installed) for everything I can find about trunks and routing and I'm still not getting anywhere.

 

Maybe I'm trying to use the product in a way that it's not intended, but from forum posts I've seen here and articles elsewhere on the net, I think I'm just missing some key setting.

 

I have a Microsoft Speech Server installation on an internal machine that works fine internally with the following setup: In my pbxnsip 3.0 installation I have a trunk configured as an Outbound Proxy with "speechserveripaddress:5060;transport=tcp" in the Outbound Proxy field. In the dial plan I have only 1 entry...Pref: 100/Trunk: speech server/Pattern: 70xx. Using X-Lite, I can register as extension 40 (the only account I have defined) and I can successfully call my speech server application by dialing 7000.

 

The part I'm getting tripped up on is: How do I accept calls from the internet for that speech server?

 

The calls will be coming from multiple IP addresses (SIP proxies, I assume)...not a single address or domain. We have port udp/5060 and the RTP port range forwarded to the pbxnsip machine from our firewall.

 

From what I've read, I should be able to create a second trunk (a "SIP Gateway") called "localhost", with "localhost" in the "Domain" and "Outbound Proxy" fields and with "Global" set to "yes" and that trunk will handle all incoming traffic that isn't detected as a local extension. Here is the line from the 2.0.1 documentation that makes me think this should work this way:

"The domain name "localhost" matches any domain name presented in the Request-URI, as usual." - top of page 108

 

It doesn't seem to matter how I twiddle the settings, I keep getting:

[8] Could not find a trunk (2 trunks)

[5] Received incoming call without trunk information and user has not been found

 

While I was experimenting I put the IP address of the client user agent into the trunk's "Outbound Proxy" field and that changed the messages to:

[5] Identify trunk (IP address/port match) 3

[5] Trunk localhost sends call to 7000

[5] Trunk call: Could not identify user

 

I don't know what "Could not identify user" means. The user who is making the call? The user who is being called (7000)? Something else entirely?

 

Things I've tried:

Set the trunk to both "SIP Gateway" and "Outbound Proxy".

Added a second entry to the dial plan to send all calls (*) to the speech server.

Changed the "Assume that call comes from user" entry to "40".

Tried setting "Global" on the trunks to both yes and no

 

Can anyone shed some light on what I'm doing wrong? In case it matters, I'm using a demo license at the moment until I know for sure I can get this working.

 

Thanks for the help!

 

--Jeff

Link to comment
Share on other sites

The part I'm getting tripped up on is: How do I accept calls from the internet for that speech server?

 

One simple workaround would be to use a manual registration (see http://wiki.pbxnsip.com/index.php/Manual_Registration, and http://wiki.pbxnsip.com/index.php/Extension#Registrations). Then the speech server does not have to register with the PBX, but you can treat the server like a registered SIP device.

 

From what I've read, I should be able to create a second trunk (a "SIP Gateway") called "localhost", with "localhost" in the "Domain" and "Outbound Proxy" fields and with "Global" set to "yes" and that trunk will handle all incoming traffic that isn't detected as a local extension. Here is the line from the 2.0.1 documentation that makes me think this should work this way:

"The domain name "localhost" matches any domain name presented in the Request-URI, as usual." - top of page 108

 

It doesn't seem to matter how I twiddle the settings, I keep getting:

[8] Could not find a trunk (2 trunks)

[5] Received incoming call without trunk information and user has not been found

 

While I was experimenting I put the IP address of the client user agent into the trunk's "Outbound Proxy" field and that changed the messages to:

[5] Identify trunk (IP address/port match) 3

[5] Trunk localhost sends call to 7000

[5] Trunk call: Could not identify user

 

I don't know what "Could not identify user" means. The user who is making the call? The user who is being called (7000)? Something else entirely?

 

The "outbound proxy" is also the "inbound proxy" - at least the the sake of finding out where the call came from.

 

The message "Could not identify user" means that the use was not found in the domain. Is 7000 an extension or account? Maybe you should create 7000 and add a manual registration pointing to the speech server.

 

In case it matters, I'm using a demo license at the moment until I know for sure I can get this working.

 

Demo license makes no difference.

 

Also important is that you check "accept redirect" in the trunk to the speech server. The speech server is nothing else that the SIP engine of the Exchange UM. http://wiki.pbxnsip.com/index.php/Microsoft_Exchange should contain a good checklist on how to configure the speech server as well.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...