OGo can integrate with telephony systems in some ways ...
TODO: write much more ...
SkyDialNumber
All (most of?) the phone numbers are already generated by a single dynamic
(template) element "SkyDialNumber". The source is located in WebUI/Common/OGoUIElements/SkyDialNumber.m.
SkyDialNumber can generate dial links for "CTI" bundles (plugins) in OGo or it can generate a link to an external URL.
Triggering a remote URL for dialing ...
OGo can also generate arbitary dialer links pointing to external scripts. As soon
as the SkyDirectActionDialer_Link default has a non-empty value the
proper links will be generated.
Remote-URL Defaults
SkyDirectActionDialer_Link
SkyDirectActionDialer_Target
Link Variables
number (phone number to be dialed)
login (login of OGo account)
remoteHost
remoteAddress
Example
Defaults write OpenGroupware \
SkyDirectActionDialer_Link \
'"/dial.php?login=$login$&number=$number$"'
Using STLI
TODO: write more ...
SKYRiX 5 also has direct support for the STLI protocol as implemented by
the iLink TeamCall server.
The TeamCall server itself can then connect to various CSTA capable telephony hosts.
Note: Currently this is not part of the OGo sources.
STLI Defaults
CTIRemoteHostToDevice - dictionary - map the IP address transmitted by the browser of a session user to an actual
(device) phone number.
Writing CTI bundles
STLI is only one CTI plugin, you can also write additional ones for other protocols. If multiple dialers are installed, the one to be used can be selected
using the CTIDialer default.
A lot of the relevant source code is in OpenGroupware+CTI.m (WebUI/OpenGroupware.org/).
In short you need to write a plugin which declares CTIDialers in the
bundle-info.plist.
API to support:
- (BOOL)canDialNumber:(NSString *)_number;
- (BOOL)dialNumber:(NSString *)_number fromDevice:(NSString *)_device;