NOTE: The SIPTAPI website has moved to a new website: Please go to http://www.ipcom.at/index.php?id=561
The SIP TAPI is a TAPI driver, which enables SIP click2dial functionality from TAPI applications (like MS Outlook, Phoner ...). The correct term for this application is: A service provider for the MS telephony API.
The work is based on asttapi, a TAPI driver which connects to Asterisk via the manager interface (a telnet connection into Asterisk). I removed all the asterisk/telnet related stuff and replaced it with a SIP stack (eXosip2). Thus, it should work with all SIP based applications (which understand the REFER reqeust).
How does it work?
The SIP TAPI sends an INVITE request to your own SIP phone. When you pick up the phone and the call between the SIP TAPI and your phone is established, the SIP TAPI sends a REFER request to your phone. This REFER request contains the originally called phone number in the Refer-To: header. Thus, your SIP phone will establish a new call to respective phone number. For a detailed howto please refer to the SIPTAPI-Tutorial.
The SIP TAPI is tested with Windows XP SP2 german, Outlook 2003 SP1, MS Visual Studio.NET 7.1, Phoner.de
The development of SIPTAPI moved to sourceforge: http://sourceforge.net/projects/siptapi/
News:
2007-07-02: SIPTAPI multiline now also supports incoming call notification - see screenshot with Microsoft's dialer.exe TAPI application.
2006-03-13: A tutorial how to use SIPTAPI with the sipXpbx is available on the sipX wiki
2006-03-10: SIPTAPI is now also available in a multiline version. This is especially useful in Citrix environments, where multiple users use the same TAPI driver instance. Further, NAT traversal support is also available and stability has increased. Please ask klaus.darilion (at) enum.at for licensing details.
Installation:
1. copy the siptapi.tsp file into \windows\system32\
2. Install the TAPI driver via the control panel: Start -> ControlPanel -> PhoneAndModemOptions -> Advanced -> Add -> SIP TAPI Service Provider
Configuration:
1. Configure via the control panel: Start -> ControlPanel -> PhoneAndModemOptions -> Advanced -> Configure
- SIP domain: the domain of your SIP URI
- Outbound Proxy: the IP address or domain of the OBP
- username: the SIP username of your SIP URI
- password: the SIP password
The SIP TAPI does not support for NAT traversal. Thus, you must register to a SIP proxy which does the NAT traversal, or use a dedicated outbound proxy.
For example, if your SIP URI is sip:15990@fwd.pulver.com and you are behinod NAT, configure the TAPI:
SIP domain: fwd.pulver.com
outbound proxy: fwdnat.pulver.com:5082
user: 15990
password: guess what
If you do not need an outboundproxy, leave this field empty.
2. Configure your TAPI application to use the SIP TAPI
Build instructions:
1. Get the osip2 and eXosip2 sources and build them. If you use the SIP TAPI with Cisco 7960 phones, you have to build with option: -DCISCO_BUG (for details refer to: www.atosc.org/pipermail/public/osip/2005-April/005130.html) I used an very early version of exosip2. Thus, the API may have changed a little bit and you will have to update the exosip function calls in siptapi.
2. download the SIP TAPI sources (from sourceforge)
3. open the siptapi project in Visual Studio.NET: asttapi.sln
4. specify the location of the osip/exosip header fiels and libraries in the siptapi project
5. build the SIP TAPI, you will find it in the Debug/Release folder with the name siptapi.tsp
For debugging you can watch the debug statements unsing Sysinternals DebugView: www.sysinternals.com/ntw2k/freeware/debugview.shtml
Tips: You can link the SIPTAPI with callto URIs using a script which connects the callto URI with a TAPI application (e.g. Windows' dialer.exe). More info can be found on www.sugarcrm.com/forums/showthread.php
License: GNU GPL 2
Warning: This software is in an early stage - thus, it may happen that your TAPI applications or Windows crashes :-(
As the SIP TAPI is under the GPL license, you are welcome to improve it. :-)
Changelog:
0.1: initial version
0.2: bug fixed when not specifiying an outbound proxy
Note: When not specifying an outbound proxy, the field must be empty (really empty, also no spaces, tabs ...)
0.2.3: some bug fixes, works now with asterisk (canreinvite=no)
0.2.4: update to newer eXosip version which supports "id" parmeter in Event: header
Download:
- please download the source code and binary package from sourceforge
- SIPTAPI-Tutorial.pdf, Version 0.1
If you have questions or comments, feel free to contact me at klaus.darilion (at) enum.at.