Difference between revisions of "Sip"
Line 75: | Line 75: | ||
== Datapoints == | == Datapoints == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 87: | Line 81: | ||
!R/W | !R/W | ||
!Description | !Description | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|connection | ||
+ | |rowspan="2"|online | ||
+ | |R | ||
+ | |connection established | ||
+ | |- | ||
+ | |offline | ||
+ | |R | ||
+ | |HSYCO can’t connect to the VoIP client application | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|registration | ||
+ | |rowspan="2"|0 | ||
+ | |R | ||
+ | |the SIP client is not registered (note that this event is not guaranteed to reflect unregistration conditions caused by the SIP server) | ||
+ | |- | ||
+ | |1 | ||
+ | |R | ||
+ | |the SIP client is registered to a SIP server | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|mode | ||
+ | |rowspan="2"|phone | ||
+ | |R | ||
+ | |the I/O Server is in phone mode | ||
+ | |- | ||
+ | |ivr | ||
+ | |R | ||
+ | |the I/O Server is in IVR mode | ||
+ | |- | ||
+ | |||
+ | |rowspan="5"|call | ||
+ | |rowspan="2"|SIP URI string | ||
+ | |R | ||
+ | |a call is being established or is in progress with the remote party identified by the value of this data-point | ||
+ | |- | ||
+ | |W | ||
+ | |start a call to a remote party | ||
+ | |- | ||
+ | |answer | ||
+ | |W | ||
+ | |answer an incoming call | ||
+ | |- | ||
+ | |hangup | ||
+ | |W | ||
+ | |hangup a call | ||
+ | |- | ||
+ | |empty string | ||
+ | |R | ||
+ | |no call is currently being established or in progress | ||
+ | |- | ||
+ | |||
+ | |call.refused | ||
+ | |SIP URI string | ||
+ | |R | ||
+ | |an incoming call is refused because another call is already in progress | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|status | ||
+ | |ring | ||
+ | |R | ||
+ | |receiving an incoming call, not yet answered | ||
+ | |- | ||
+ | |dial | ||
+ | |R | ||
+ | |dialing a call, not yet answered | ||
+ | |- | ||
+ | |active | ||
+ | |R | ||
+ | |incoming or outbound call in progress | ||
+ | |- | ||
+ | |hangup | ||
+ | |R | ||
+ | |no call is currently in progress | ||
+ | |- | ||
+ | |||
+ | |transfer | ||
+ | |SIP URI string | ||
+ | |W | ||
+ | |blind transfer an active or incoming call to a remote party | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | {{note|The SIP protocol uses a standard URI format to identify the calling and called parties, like: | ||
+ | <nowiki>sip:user@host</nowiki> | ||
+ | where ''user'' is the username and ''host'' is the remote host name or IP address.}} | ||
+ | |||
+ | The SIP I/O Server will automatically remove or imply the <nowiki>“sip:”</nowiki> prefix from data-point values. @host will also be removed or implied if host is an exact match of the I/O Server IP parameter. | ||
== Release Notes == | == Release Notes == |
Revision as of 17:19, 10 March 2014
The HSYCO SIP I/O Server allows HSYCO to control standard VoIP client software (also called soft-phones), in order to integrate telephony features in HSYCO applications.
Using the SIP I/O Server, you will be able to use the audio capabilities of the HSYCO Server to implement a speakerphone with all calling features being controlled by HSYCO itself. This “phone” mode is particularly useful when HSYCO is running on a touch screen equipped with a microphone and speaker, and a kiosk mode Web browser, to create customized door-entry control panels with audio/video capabilities.
The SIP I/O Server also works as a basic IVR (interactive voice response) system, allowing HSYCO to interact with users via the standard telephony system through the use of voice and DTMF tones input on the phone’s keypad.
Contents
VoIP Applications
The SIP I/O Server currently works with the Linphone Voice Over IP software phone, on Linux systems only. Linphone must be installed and properly configured on the Linux system that runs the HSYCO Server.
The current version of the SIP I/O Server has been tested with Linphone 3.5.2.
Linphone Installation
From the Linux command-line shell, install the software with the command:
sudo apt-get install linphone
After the installation, run Linphone from the graphic desktop for the hsyco user, and configure the audio devices and levels. This configuration will be used when Linphone is run as a daemon process and called by HSYCO.
The hsycolinphone script must also be installed and executable ( The hsycolinphone script is installed in the /usr/local/bin directory).
Finally, if you are using the the PulseAudio system, ensure that the user that will run Linphone is added to the pulse-access group, while if you are using the ALSA audio system, the user that will run Linphone should be added to the audio group instead.
HSYCO Configuration
The VoIP client can be configured to work as a stand-alone client, or registered to a VoIP PBX system.
You can define only one HSYCO SIP I/O Server in System Settings.
Options
ID | Default | Values | Description |
---|---|---|---|
user | hsyco | username | the operating system’s user name that will be used to run the Linphone application, either locally or on a remote server |
host | remote host name or address | the hostname or IP address of the remote server where Linphone is installed | |
password | password | this option is required when host is defined. It is the password for the remote user | |
mode | phone | phone | phone mode |
ivr | ivr mode |
Remote System Configuration
When Linphone is run on a remote system, HSYCO will use the SSH protocol to execute the remote call. The remote system should be configured to accept the SSH connection from the HSYCO server using the username and password defined in the I/O Server’s options. If you also need to control the display backlight or execute generic operating system’s commands, the remote user name defined with the user option in the SIP I/O Server configuration must be allowed to execute “sudo” commands without asking for a password. For example, if the user is hsyco, you could add the line:
hsyco ALL=(ALL:ALL) NOPASSWD: ALL
at the end of the /etc/sudoers file (Use the visudo command to edit the /etc/sudoers file).
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can’t connect to the VoIP client application | |
registration | 0 | R | the SIP client is not registered (note that this event is not guaranteed to reflect unregistration conditions caused by the SIP server) |
1 | R | the SIP client is registered to a SIP server | |
mode | phone | R | the I/O Server is in phone mode |
ivr | R | the I/O Server is in IVR mode | |
call | SIP URI string | R | a call is being established or is in progress with the remote party identified by the value of this data-point |
W | start a call to a remote party | ||
answer | W | answer an incoming call | |
hangup | W | hangup a call | |
empty string | R | no call is currently being established or in progress | |
call.refused | SIP URI string | R | an incoming call is refused because another call is already in progress |
status | ring | R | receiving an incoming call, not yet answered |
dial | R | dialing a call, not yet answered | |
active | R | incoming or outbound call in progress | |
hangup | R | no call is currently in progress | |
transfer | SIP URI string | W | blind transfer an active or incoming call to a remote party |
sip:user@hostwhere user is the username and host is the remote host name or IP address.
The SIP I/O Server will automatically remove or imply the “sip:” prefix from data-point values. @host will also be removed or implied if host is an exact match of the I/O Server IP parameter.
Release Notes
3.3.0
- improved performance of the SSH connection to remote servers
- support of password-based authentication
3.2.1
- text-to-speech performance improvements
3.2.0
- initial release