HomeVisionXL Voice over IP Plug-inThe voice over IP plug-in implements a SIP user agent which is controlled by Homevision. In the plug-in you can specify a macro to run when a call comes in. The macro code can check the caller ID and take actions based on it. You can play wav files to the caller under control of your schedule and even report variables and other information using TTS.
The speech from the other party can be saved to a file so it will be possible to attach the voicemail message to the email that you can have HomeVisionXL send you using the sendmail plug-in.
It is even possible to setup a complete voice response system, allowing the caller to perform actions (like switching lights on and off) by sending DTMF digits.
Finally, you can also trigger the SIP plug-in from your schedule to call you and inform you of situations that may require your attention. In emergencies it can call to several numbers at the same time and report the situation to the first one who answers.
OperationThe plug-in can handle multiple accounts. Each account is assigned a line number. A summary screen displays a progress bar for each account indicating the remaining registration time. The current state of the line is also indicated. If something goes wrong in your schedule, the context menu on the status screen allows you to manually terminate a call.
Each account can be linked to two homevision macros and a variable.
line #1:call "5551234,5556677"
line #1:play "hello.wav"
line #1:speak "The alarm has been disarmed"
First, the plug-in will call both 5551234 and 5556677. When one of the two numbers answers the other call is cancelled. The person who answered will hear the hello.wav file followed by the text message. When the text message is finished the call is terminated.
ConfigurationOn the account configuration screen the information about the account can be specified. A unique name for the account must be specified and a line number must be selected. The account can easily be enabled and disabled using the state checkbox.
The information for the next group of setting should have been provided to you by your SIP service provider. If the service provider has not specified a STUN server, switch off the checkbox for using STUN and specify your local IP address. If you are not behind a NAT device, you also should not specify a STUN server. Most of the time a service provider will not indicate a registration period. In that case you can leave the setting at the the default of 3600 seconds.
The supported codecs setting configures which codecs may be used and in which order they will be offered during codec negotiation. Normally this setting can be left at its default, but it can be changed to resolve certain problems with some service providers. For instance, VoipBuster does not allow renegotiation of codecs. Therefor you must be sure to get it right during the initial negotiation. If all your wav files are A-law encoded, you may want to set this to "A-law only". The linux TTS system only generates speech encoded as u-law. So, if you use TTS on linux it may be better to select "u-law only". But most service providers will happily allow you to switch codecs during the call and this setting is not very critical.
The audio recording setting determines if the speech data received from the remote party will be saved to file. If enabled, the files will be created in the log directory as 8000 Hz, 16 bits mono PCM WAV files. The created WAV files are called voip-YYYYMMDDHHMMSS.wav, where YYYYMMDDHHMMSS is the timestamp of the start of the call. For convenience the plug-in also maintains a link to the last file created for each account. The link name is Profile.wav, where Profile is replaced by the account name.
The DTMF decoding setting will switch the inband DTMF detection on or off. Switching inband DTMF detection on will result in quite a bit of processor intensive processing of the incoming speech. Normally it should not be necessary to switch this setting on as most SIP services will report DTMF tones using RTP-events, as specified in RFC 2833.
The DTMF payload type determines the payload identification to offer for DTMF RTP-events according to RFC 2833 when setting up a call. This setting can almost always be left at its default of 101.
DisclaimerThe plug-in is provided as is in the hope that it will be useful. Hoewever, use of the plug-in is the sole responsibility of the user. The author of the code will not accept any responsibility for call charges, conflicts with service providers or other parties, or any other situations arising from the use of this software.