| Contents
|
Introduction
Major Features
System Requirements
Installing and Uninstalling
Download
Running
sipcli.ini
Custom Scenarios
Purchase
Trademarks
Links
Contact
Copyright |
| Introduction
|
sipcli is a command line SIP (Session Initiation Protocol) user agent runs under Windows (XP, Vista, 2003 Server)
which enables making SIP (Based on RFC 3261) based calls. You can use sipcli for:
- Test phone numbers. You can use Visual Basic Scripts to run sipcli recursively. See Running section for a sample VB script.
- Broadcast your recorded audio or text message to SIP/PSTN users. Most of network
monitoring system supports invoking external executables for event notification.
|
| Major Features
|
-
Simple, easy to use.
-
You can set source IP interface, SIP port, codec, SIP proxy/port, SIP username and password.
-
You can play built-in or a user specified wave file to remote SIP
endpoint (G.711 A-Law and Mu-Law only; other codecs not supported
for playout).
-
sipcli can collect user defined number of digits from dialed endpoints.
-
sipcli can also read a text message specified with -t option. sipcli
uses Microsoft's TTS engine to produce auido from the text.
-
sipcli supports ENUM (RFC 37612).
-
sipcli can execute custom scenarios. |
| System Requirements
|
|
| Installing and Uninstalling
|
To install sipcli, create a directory, extract sipcli.zip to that directory.
To uninstall sipcli, simply remove the installation directory. |
| Download
|
Click here to download sipcli. |
| Running
|
Open a command line prompt and locate sipcli's installation directory:
-
Create sipcli.ini in the installation directory. You can place sipcli.ini to a directory
which is in search path of your environment. If you do not create sipcli.ini
sipcli initialized with following default values:
- Available first interface with IPv4 address with a default gateway will be
selected as source IP address (ListenIP)
- SIP port: 5070
- Logging: Informative (0)
- Codec: g729
- Timeout 30 seconds
- SIP Domain: ListenIP:5060
- Username: 5550000
- Password: 'Blank'
- Text to read: This is a test call made by SIP c l i
-
Run sipcli from command line with the destination number:

-
A message indicating result of the test call will be displayed to the console.
Here is a sample VB Script for running sipcli recursively to dial a series phone numbers.
Script takes file name which contains phone numbers as command line argument. Phone numbers file must contain
one phone number per line.
Set WshShell = WScript.CreateObject ("WScript.Shell")
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = "^\d+$"
Set FSOPath = CreateObject("Scripting.FileSystemObject")
FilePath = FSOPath.GetAbsolutePathName("")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set PhoneNumbersFile = objFSO.OpenTextFile(FilePath & "\" & WScript.Arguments(0))
Result = FilePath & "\test-results.txt"
strRun = "%comspec% /c echo Test Results: > " & Result
WshShell.Run strRun, 0, True
Do Until PhoneNumbersFile.AtEndOfStream
PhoneNumber = PhoneNumbersFile.ReadLine
Set colMatches = objRegEx.Execute(PhoneNumber)
If colMatches.Count Then
strRun = "%comspec% /c " & FilePath & "\sipcli.exe " & PhoneNumber & " >> " & Result
WshShell.Run strRun, 0, True
End If
Loop
PhoneNumbersFile.Close
Test result will be written to "test-results.txt" file.
|
| sipcli.ini
|
You can find sipcli.ini parameters below:
[CLI]
' ListenIP, you can set source IP interface. sipcli selects first available
' IPv4 address with a gateway.
ListenIP=192.168.10.2
' ListenPort, you can set source UDP port, default: 5070
ListenPort=5070
' You can set logging level
' 0: Informative, 1: Sessions, 2: Errors, 3: Debug
' Default: Informative (0)
Logging=0
' You can set user codec, options: g711a, g711u, ilbc and g729. Default: g711a.
Codec=g729
' You can specify a wave file for playout. Wave file must be in 8 KHz, 16 bit sampled
' mono file. You must use command line switch -w to play specified file to remote
' SIP endpoint. Only G.711 A-Law and Mu-Law codecs are supported for playout.
WavFile=C:\Test.wav
' You can specify call establishment timeout. Default 30 seconds, maximum 180 seconds.
Timeout=25
' You can specify text message to read when -t switch used at command line.
TexttoRead=This is my test message.
' You can enable or disable ENUM lookup, disable by default.
ENUM=0
' How many digits will be collected maximum
DigitLength = 0
' How many second will be waited after last digit entered if user does not dial #
DigitTimeout = 2
' How many times welcome message will be played if no user input (DTMF digits) detected
LoopCount = 1
[Proxy]
' Specify SIP Proxy domain and optionaly UDP port. Default ListenIP:5060
SIPDomain=192.168.10.10:5080
' Specify SIP username. Default: 5550000
Username=5550000
' Specify password. Default is blank.
Password=
You can overwrite Username and SIPDomain parameters using command line parameters:
C:\sipcli>sipcli 02135551122 -u 02135551010 -d 192.168.20.1:5090
SIP username will be set as 02135551010 and call request will be sent to SIP proxy
192.168.20.1 UDP port 5090. Command line switches;
-u : Username
-p : Password
-d : SIP_Domain:Port
-c : Codec [g711a|g711u|ilbc|g729]
-l : Logging [0|1|2|3]
-o : Timeout
-t : Text to read
-w : Playout file absolute path (8 KHz, 16 bit sampled mono wave file)
-f : Length of the digit string to be collected
-g : Inter digit time out
-h : Playout count
If you use -w switch without a wave file or no WavFile entry in sipcli.ini,
built-in audio record will be played out.
You can make a call to an E.164 number using ENUM if the E.164 has an ENUM entry;
C:\sipcli>sipcli 02135551122 -enum
If you run sipcli without any parameters you'll get quick help with Listen IP, SIP Port
(UDP) and RTP Port (UDP) as shown below:
IP Adr.: 192.168.10.1
UDP P. : 5073
RTP P. : 5074 |
| Custom Scenarios
|
SipCli supports automated tasks defined in scenario scripts. You can execute
scenarios defined in scenario files. Scenario files are text files consists of
following sections and parameters.
There are two sections in scenario files; [Prompts] and [Actions].
[Prompts] sections defines prompts can be used by Play action. A prompts can
be a recorded audio file in wave format or a text can be synthesized by TTS
engine. Every prompt must have a numeric Id associated with it. You must
specify full path of wave file and wave files for the prompts must be in 16
bits, 8 KHz, mono format
If wave file cannot be found or cannot be encoded by SipCli, the wave file
will not be imported to the scenario.
[Prompts]
0=C:\sipcli\Welcome.wav
1=C:\sipcli\Info-1.wav
'TTS Text
2="This is a test call"
[Actions] section contains actions to be executed. Every action has also a
numeric Id and action identifier and parameters. Defined actions are Play,
Exit, Send, Exec, Eval and Wait. Actions and their parameters are listed below
with samples. Sipcli always starts scenario with action id = 0. Every actions'
last parameter is the next actions' id except Exit which terminates the
scenario. If you define an no-existent action as a next action SipCli will
break the execution of the script. Script execution will also be terminated if
the action step is not properly defined.
[Actions]
'Play Format
'Step=Play-||||
0=Play-0|3|1|4
'Evaluate Format
'Step=Evaluate-|;|;..;|
1=Evaluate-Default|7;23|2;24|3;25|7
2=Play-1|3|7|3
3=Play-2|3|7|3
'Send Format
'Step=Send-|
4=Send-124124|2
'Wait Format
'Step=Wait-|
5=Wait-30|6
'Exec Format
'Step=Exec-|||
'Variables (Case sensitive):
'%called_number, %calling_number, %received_digits, %sipdomain%
'Set command line parameter to "" if no parameter will be used
6=Exec-"C:\sipcli\test.bat"|"-u %called_number"|1|7
'Exit Format
'Step=Exit
7=Exit
|
| Purchase
|
Free version of sipcli supports maximum 3 second of playout and maximum 3 different actions in scenario definitions. You can buy unlimited version for 59 USD.
|
| Trademarks
|
Microsoft, Win32, Windows 2000, Windows, Windows NT and Windows Vista are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. |
| Links
|
sipcli Antivirus Report from soft82.com
|
| Contact |
yasin at kaplan.net |
| Copyright |
All material on this website is Copyright (C) 1995-2009 Yasin KAPLAN. All rights reserved. If you would like permission to use any of this material, please contact Yasin KAPLAN. |
| Navigation |
<< Back to home page |
| Advertisement |
|