The Abilis SIP driver provides gateway functionalities between SIP and ISDN networks for audio services only; it isn't intended to support full SIP to SIP videoconferencing gateway. The Abilis SIP driver can be interfaced with:
Physical VolP telephones with SIP support;
Softphone program for PC;
PBX Digium Asterisk and other VoIP PBX with SIP support
For each of its SIP users ABILIS provides the choice of 4 possible operating modes, defined by the SIP-TYPE parameter.
SIP-TYPE
can be specified as:
PHONE
: to be used when connecting SIP
phones to Abilis;
SERVER
: to be used when Abilis has to
emulate a SIP phone;
LOCAL-PEER
: to be used with a SIP gateway
when the SIP-DOMAIN
is owned by the
Abilis;
REMOTE-PEER
: to be used with a SIP gateway
when the SIP-DOMAIN
is owned by the SIP
gateway.
Note | |
---|---|
Many of the other SIP configuration parameters, like SIP-DOMAIN, are to be specified
depending to the |
Note | |
---|---|
The user may also be a PEER, it means a device that has the same SIP role of the Abilis and the calling number has to be passed unchanged. |
The SIP registration process looks something like this:
Registration is the process in which the endpoint sends a SIP REGISTER message to the SIP SERVER to let it know where it is. The second REGISTER contains an Authorization header, what contains the SIP user and the password.
On Abilis, depending of SIP-TYPE parameter the registration can be:
Local
: the endpoint will register on
Abilis. The USER
and PWD
parameters of Abilis are used for registration.
Remote
: the Abilis will register on SIP
server. The SIP-REM-USER
,
SIP-REM-AUTH-USER
and
SIP-REM-PASS
parameters of Abilis are used for
registration.
Note | |
---|---|
To enable remote registration, the SIP-REM-REG parameter must be enabled. |
Note | |
---|---|
The SIP-REM-AUTH-USER
must be configured only if SIP authentication user is different
from SIP user. By default the |
If the SIP-TYPE
: PHONE
usually the registration is Local, the
SIP phone registers itself on Abilis. The SIP-HOST
and/or SIP-UDP-REMPORT
must be dynamic.
For SIP-TYPE
: LOCAL-PEER
if
the SIP-HOST
and/or
SIP-UDP-REMPORT
are dynamic then the endpoint must
register itself on Abilis, in order that the Abilis can find the IP
address of the endpoint.
For SIP-TYPE
: SERVER
or
SIP-TYPE
:REMOTE-PEER
usually the
registration is Remote, the Abilis
register itself on SIP server.
Tip | |
---|---|
Interesting chapter: Section 84.4.16, “How to troubleshoot SIP registration problems”. |
Examples of basic configuration of SIP user to interconnect with Abilis for each SIP-TYPE:
PHONE
[08:23:09] ABILIS_CPX:a user:sip_phone pwd:sip_phone sip:yes sip-type:phone sip-host:dynamic sip-number:555
COMMAND EXECUTED
LOCAL-PEER
[08:27:09] ABILIS_CPX:a user:sip_peer pwd:sip_peer_pwd sip:yes sip-type:local-peer sip-domain:abilis.voip.net sip-host:dynamic sip-maxses-bid:20 sip-number:*
COMMAND EXECUTED
Note | |
---|---|
|
Tip | |
---|---|
Interesting chapter: Section 58.5.2, “Example: Abilis and a SIP server registered in Abilis domain (SIP-TYPE:LOCAL-PEER)”. |
SERVER
[08:30:09] ABILIS_CPX:a user:voipclient pwd:swordfish sip:yes sip-type:server sip-domain:sipserver.com sip-host:80.80.80.80 sip-maxses-bid:20 sip-number:*
COMMAND EXECUTED [08:31:09] ABILIS_CPX:s user:voipclient sip-rem-reg:yes sip-rem-user:voipclient sip-rem-pass:swordfish
COMMAND EXECUTED
Note | |
---|---|
The SIP-MAXSES-BID parameter is the maximum number of SIP bidirectional sessions. |
REMOTE-PEER
[08:30:09] ABILIS_CPX:a user:voippeer pwd:swordfish sip:yes sip-type:remote-peer sip-domain:sipserver.com sip-host:80.80.80.80 sip-maxses-bid:20 sip-number:*
COMMAND EXECUTED [08:31:09] ABILIS_CPX:s user:voippeer sip-rem-reg:yes sip-rem-user:voippeer sip-rem-pass:swordfish
COMMAND EXECUTED
Note | |
---|---|
|
To check if SIP users are registered, type the following command:
[11:04:10] ABILIS_CPX:d ctisip registry
User Host Port REG LIFETIME AGE
-------------------------------------------------------------------------------
voipclient 080.080.080.080 5060 REMOTE 240 9
sip_peer 192.168.020.104 46022 LOCAL 120 112
sip_phone 192.168.020.107 56125 LOCAL 120 112
In this example, the SIP user voipclient
is
registered to the remote peer with IP address: 80.80.80.80. SIP users
sip_peer
and sip_phone
are
registered to Abilis.
Tip | |
---|---|
Interesting chapters: Section 58.7.4, “Debug of the CTISIP resource”; Section 84.4.16, “How to troubleshoot SIP registration problems”. |
The SIP devices can communicate also without SIP Registration,
only if the devices are on the same LAN or both are on static public
IPs. In this case, SIP-HOST
and
SIP-UDP-REMPORT
must be configured, not
dynamic.
Note | |
---|---|
To disable remote registration, the
|
Tip | |
---|---|
If Abilis has more IP addresses, then SIP-SRCADD parameter must be configured with a corresponding source IP address. |
Example of configuration of SIP user to comunicate without registration:
[08:30:09] ABILIS_CPX:a user:sip_no_reg sip:yes sip-type:remote-peer sip-domain:sipserver.com sip-host:80.80.80.80 sip-srcadd:77.77.77.77 sip-udp-remport:5060
COMMAND EXECUTED [08:31:09] ABILIS_CPX:s user:sip_no_reg sip-maxses-bid:20 sip-number:* sip-rem-reg:no
COMMAND EXECUTED
Note | |
---|---|
The SIP-MAXSES-BID parameter is the maximum number of SIP bidirectional sessions. |
A caller sends this message (INVITE) to request that another endpoint join a SIP session, such as a conference or a call. This message can also be sent during a call to change session parameters.
Meaning of the most important parameters:
Request-URI
: The
Request-URI
header field contains the URI
of the next hop of the message.
From
: The From
header
field identify the initiator of the invitation
To
: The To
header field
identify the recipient of the invitation
These parameters change depending on the SIP-TYPE parameter.
Below we see the differences between the INVITE message for each
SIP-TYPE
:
If SIP-TYPE
:PHONE
the INVITE
from 101 to the user sent by the Abilis contains:
Request-Uri
:
test@80.80.80.80
(where
test
is the SIP user and
80.80.80.80
is the IP address of the
device)
From
:
101@abilis.voip.net
(where
abilis.voip.net
is the local domain of
the Abilis)
To
:
test@abilis.voip.net
Note | |
---|---|
If the
|
Tip | |
---|---|
Interesting chapters: Section 58.4, “Connecting Abilis and a SIP phone”; Section 81.9, “How to register a SIP telephone onto Abilis”. |
If SIP-TYPE
:LOCAL-PEER
the
INVITE from 101 to 0123456 sent by the Abilis contains:
Request-Uri
:
0123456@80.80.80.80
(where
0123456
is the called number and
80.80.80.80
is the IP address of the
user)
From
:
101@abilis.voip.net
(where
abilis.voip.net
is the local domain of
the Abilis)
To
:
0123456@80.80.80.80
Note | |
---|---|
If the
|
Note | |
---|---|
|
Note | |
---|---|
If the |
Tip | |
---|---|
Interesting chapter: Section 58.5.2, “Example: Abilis and a SIP server registered in Abilis domain (SIP-TYPE:LOCAL-PEER)”. |
If SIP-TYPE
:SERVER
the
INVITE to 0123456 sent by the Abilis contains:
Request-Uri
:
0123456@sipserver.com
(where
0123456
is the called number and
sipserver.com
is the FQDN
of the server)
From
:
abilis@sipserver.com
(where
abilis
is the SIP remote user and
sipserver.com
is the remote
domain)
To
:
0123456@sipserver.com
Note | |
---|---|
If the
|
Tip | |
---|---|
Interesting chapters: Section 58.5.3, “Example: Server and Abilis registered in Server remote domain (SIP-TYPE:SERVER)”; Section 81.11, “How to register Abilis as a client of a SIP server”. |
If SIP-TYPE
:REMOTE-PEER
the
INVITE from 101 to 0123456 sent by the Abilis contains:
Request-Uri
:
0123456@sipserver.com
(where
0123456
is the called number and
sipserver.com
is the FQDN
of the remote peer)
From
: 101@77.77.77.7
(where 77.77.77.77
is the
IP address of the Abilis)
To
:
0123456@sipserver.com
Note | |
---|---|
If the
|
Note | |
---|---|
|
Note | |
---|---|
If the |
Tip | |
---|---|
Interesting chapter: Section 58.5.4, “Example: Server and Abilis registered in Server remote domain (SIP-TYPE:REMOTE-PEER)”. |
Tip | |
---|---|
Interesting chapter: Section 79.31.1, “How to trace only the SIP signaling traffic”. |
Add the resource to the Abilis system with the following command.
[09:08:14] ABILIS_CPX:a res:ctisip
RES:CTISIP ALREADY EXISTS
The CTISIP resource may already exist in the system, but may not yet be active: set it active with the command:
[09:10:00] ABILIS_CPX:s act res:ctisip
COMMAND EXECUTED
Caution | |
---|---|
After adding or setting the CTISIP active, you must restart the Abilis to make the resource running (use the command warm start to reboot the Abilis). |
[11:01:39] ABILIS_CPX:s p ctisip act:yes
COMMAND EXECUTED
Caution | |
---|---|
Execute the initialization command init res:ctisip to activate the changes made on the upper case parameters. Use the command save conf and restart Abilis (i.e. With warm start command) to set act the changes made on the lowercase parameters. |
Use the command d p ctisip to show the parameters of the resource and use the command d p ctisip ? to display the meaning of the parameters.
[11:02:19] ABILIS_CPX:d p ctisip
LOG:NO ACT:YES mxps:2172
sesnum:10 non-invite-sesnum:50
UDP-PORT-BASE:6000 SIP-TOS:0-N
udp-locport:5060 UDP-PORT-RANGE:200 RTP-TOS:0-D
SRCADD:OUT-IP
EXTERNAL-IP:OUT-IP DISPLAY-NAME:NO
IPSRC:127.000.000.001 IPSRCLIST:PrivateIpAdd
SUB-LIFETIME:180 max-sub:100 CTIP-TYPE:USER
AUTH:DIGEST KEEPALIVE:90 NPOO-CT:SYS
LIFETIME:120 DISC-AUDIO:NO ROUTING:EN-BLOC
REM-AUTH:DIGEST T1:500 DIALT:5
REM-LIFETIME:120 T2:4 T302:15
AUTH-TOUT:4 T4:5 ROUTE-BY-SD:NO
AUTH-TOUT-INVITE:4 CHAN-FREQ:20 PROVIDE-SG:NO
DTMF-MODE:RFC2833 T38:YES CLIP-RULE:PRIVATE
PLAY-DTMF:100 T38-G711:NO RG-IN:DISABLE
PLAY-SILENCE:100 T38-PACKING:1 CPO-RTP:NO
DETECT-DTMF:40 T38-REDUND:REDUNDANCY CPO-SIGNALLING:NO
DETECT-SILENCE:40 T38-REDUND-PCK:1 RCC-DISABLE:NO
DOMAIN:
UA:AUTO (Abilis CPX - Ver. 8.8.1/STD - Build 4456.36 - Branch 8.8)
wdir:C:\APP\SIP\
Meaning of the most important parameters:
LOG
Logging functionalities activation/deactivation.
ACT
Runtime CTISIP activation/deactivation
[NO
, YES
].
mxps
UDP payload [1472..65507 byte].
sesnum
The maximum number of SIP sessions available for phone calls [1..255].
non-invite-sesnum
Number of SIP sessions/dialogs initiated by NON-INVITE methods: i.e. Register, Subscribe and Notify [30..100].
udp-locport
Local UDP port of SIP protocol [1..65535].
UDP-PORT-BASE
Base local UDP port usable for RTP/RTCP sessions [1024..65535]; this feature is required to assign high priority to RTP/RTCP packets.
UDP-PORT-RANGE
Range of permitted local UDP ports usable for RTP/RTCP
sessions [50..1000]; this value must not be lower than
(sesnum
* 2 + 50).
SIP-TOS
Sets the TOS value for SIP protocol.
RTP-TOS
Sets the TOS value for RTP protocol.
SRCADD
Source IP address for outgoing connections
[R-ID
: the source IP address of the outgoing
datagrams will be set to the current RouterID value;
OUT-IP
: the source IP address of the outgoing
datagrams will be set on the base of the output IP interface;
1-126.x.x.x, 128-223.x.x.x
: the source IP
address of the outgoing datagrams will be set to the selected
value; Ip-nnn
: use the current
IPADD
of the specified IP resource].
EXTERNAL-IP
Abilis external IP address. [R-ID
: the
source IP address of the outgoing datagrams will be set to the
current RouterID value; OUT-IP
: the source IP
address of the outgoing datagrams will be set on the base of the
output IP interface; 1-126.x.x.x,
128-223.x.x.x
: the source IP address of the outgoing
datagrams will be set to the selected value]. When
OUT-IP
or R-ID
are set, the
address must be determined at the call start and must not change
until call end.
DISPLAY-NAME
Selects how to fill Display Name in From,
P-Asserted-Identity, Remote-Party-ID fields
[NO
: Do not add display name;
CG
: the value present in the
CG
field (calling number) provided by CTIR;
SG
: the value present in the
SG
field (subaddress calling) provided by CTIR;
SG-CG
: the value present in the
SG
field or CG
field if
SG
field is missing;
ADDRBOOK
: field with the name of calling number
from address book; ADDRBOOK-SG
: field with
calling number if the name of calling number is missing in address
book].
Note | |
---|---|
When |
IPSRC
Incoming requests: accepted source IP address [*,
1-126.x.x.x, 127.0.0.1, 128-223.x.x.x]; a client is accepted if it
also satisfies SIP-IP-PERMIT
specified in User
table.
IPSRCLIST
Incoming requests: list of further accepted source
IP addresses [#, IP/IR/RU/MR listname]; a client is accepted if it
also satisfies SIP-IP-PERMIT
specified in User
table.
SUB-LIFETIME
Expiration time of incoming subscriptions [60..3600 sec].
max-sub
Maximum number of subscriptions that CTISIP may handle
independently from the event type, the subscriber and the
monitored resource [0..1000]. If we are handling two SIP phones
with BLF and one
phone monitors 150 phones and the other monitors 50 phones then
max-sub
is 150+50=200. If we have 30 phones and
each monitors 20 phones, then we have 600 subscriptions.
AUTH
Authentication types offered to autenticating/registering
users (incoming calls/registrations) [PLAIN
,
DIGEST
]. Values can be joined using ','
character.
REM-AUTH
Authentication types acceptable when
authenticating/registering to a peer (outgoing
calls/registrations).[PLAIN
,
DIGEST
]. Values can be joined using ','
character.
LIFETIME
Default duration of incoming registration; users must register themselves before this time interval expires.
REM-LIFETIME
Default duration of outgoing registration [30..3600 sec]; Abilis must register before this time interval expires.
AUTH-TOUT
SIP NOT-INVITE authentication timeout for incoming/outgoing calls initiated by REGISTER method [2..255 sec].
AUTH-TOUT-INVITE
SIP INVITE authentication timeout for incoming/outgoing calls initiated by INVITE method [2..255 sec].
KEEPALIVE
Session keepalive time [90..600 sec]; when this session inactivity timer expires a RE-INVITE or UPDATE message is sent. The keepalive during a call is used to monitor if the connection is stil alive.
CTIP-TYPE
CTIP type assigned to CTISIP driver
[USER
, NET-PRIVATE
,
NET-PUBLIC
].
NPOO-CT
Enable/disable Net-Public to Net-Public call transfer when
both calls are outgoing (outgoing to outgoing)
[NO
: NP to NP disabled; YES
:
NP to NP enabled, except when both calls are outgoing, which is
not allowed to avoid the “hang trunk” problem;
SYS
: NP to NP depends on NP-CT in
CtiSys].
ROUTING
Routing management
[PREFIX
, EN-BLOC
].
DIALT
Dialing timeout [1..15 sec]. When SIP resource is the destination and at least a number was already submitted the timeout between digits is 5 seconds (DIALT) but may be changed.
T302
Timeout for “empty” setup [15..120 sec].
ROUTE-BY-SD
It allows routing using subaddress called field (SD)
[NO
: the SD is completely ignored;
YES
: the user corresponding to SD is searched:
if found the call is forwarded to that user, otherwise the
standard search in CTISIP table is performed;
USER
: the user corresponding to SD is searched:
if found and the user has parameter
SIP-ROUTE-BY-SD
:YES
, the
call is forwarded to that user, otherwise the standard search in
CTISIP table is performed].
Tip | |
---|---|
Interesting chapter: Section 58.4.4.2, “Abilis CTI Routing of “Site 1 ” using subaddress called field”. |
PROVIDE-SG
Allows insertion of SIP USER NAME in subaddress calling
field [NO
: disable insertion of USERNAME in
calling subaddress; YES
: enable insertion of
USERNAME in calling subaddress; USER
: insertion
of USERNAME in calling subaddress depends on individual user
configuration]. When it's enabled, either as result of value
YES
or because value is USER
and the user corresponing to the subaddress content allows it, the
call sent to CTIR will include in the subaddress calling field the
SIP USER NAME of the caller.
DTMF-MODE
DTMF mode used by CTISIP in outgoing DTMF
[INBAND
: the outband DTMF received from CTIR is
not dropped, only the audio stream is passed;
INFO
: the outband DTMF received from CTIR is
sent using INFO message; RFC2833
: the outband
DTMF received from CTIR is sent using RFC2833 payload].
DISC-AUDIO
Enable/Disable the reproduction of the audio message present
in DISCONNECT with in-band-info received from CTIR
[NO
, YES
]. If set ot
YES
the duration of the SIP session in active
state is increased until CTIR times-out (typically up to 30 sec),
or the SIP agent closes the call.
PLAY-DTMF
Duration of a DTMF played from a DTMF FULL FRAME [40..1000 msec]. When CTISIP has to convert a DTMF FULL FRAME command to CTIR DTMF frame, it produces as many frames as needed to cover the period specified by this parameter. The actual interval must be rounded to the value immediately higher than configured one.
PLAY-SILENCE
Duration of a silence played after a
PLAY-DTMF
[50..1000 msec]. When CTISIP has to
convert a DTMF FULL FRAME command to CTIR DTMF frame, it produces
as many frames as needed to cover the perios specified by
PLAY-DTMF
parameter. Before a new DTMF can be
played, a silence period must elapse, and this is controlled by
this parameter.
DETECT-DTMF
Duration of a DTMF from CTIR in order to allow digit recognition [20..100 msec]. When CTISIP received DTMF frames from CTIR, and after it created the most accurate and monotonical timestamp, the DTMF length is measured and for a successful digit recognition it must be of at least the length specified here. If the configured value is not an exact multiple of the frame rate, it must be rounded to the next upper value multiple of frame rate.
DETECT-SILENCE
Duration of a silence after a DTMF from CTIR in order to recognise a digit [20..100 msec].When receiving DTMFs from CTIR to SIP this is the minimum duration of the silence after a tone to actually recognize the following tone and digit to be sent to SIP.
T1
SIP T1 time; Round Trip Time (RTT) estimate.
T2
SIP T2 time; maximum retransmission interval for NON-INVITE requests and INVITE responses.
T4
SIP T4 time; maximum duration that a message can remain in the network.
CHAN-FREQ
Desired channel frequency for bandwidth optimisation, to be rounded down to a codec frame length multiple [20, 30, 40, 50, 60, 70, 80, 90 msec]. It represents how many msec of voice are desired to be packed into a single UDP packet; it's a “desire” in the sense that the actual optimisation will depend on the frame length in msec of the coder in use, and the result will be an a approximation by defect.C
Enables/disables Call Path Optimization between two SIP
users. It is used when
SIP-CPO
:SYS
in user service,
otherwise the value of SIP-CPO
is used.
CPO-SIGNALLING
Call Path Optimization signalling [NO
:
never attempt a CPO of the signalling path;
TRANSFER
: attempt the CPO just in case of
transferring; ALWAYS
: always attempt the CPO
between two SIP call legs]
DOMAIN
Domain for local users. From 0 up to 64 characters in the range ['0'..'9', 'a'..'z', '-', '.']. DN name is forced to lower case. If Abilis has clients in the public side you can also specify a FQDN.
CLIP-RULE
Specifies the threatment of the CG number for calls TO the
SIP users (OUTGOING) [PRIVATE
,
PUBLIC
]. If PRIVATE
the CG
is sent unmodified, if PUBLIC
the CG is emptied
when PI is set to RESTRICTED.
RG-IN
Enable/disable management of incoming redirecting
[DISABLE
, ENABLE
].
T38
Enable/disable T.38 support [NO
,
YES
].
T38-PACKING
Number of T.38 packets in UDP packet [1..4].
T38-REDUND
Error recovery method [NONE
,
REDUNDANCY
: if the redundancy method is used
it's possible to increase the redundancy packets].
T38-REDUND-PCK
Number of T.38 packets used for error recovery [1..4].
T38-G711
Enable/disable T.38 support with G.711 codec
[NO
, YES
].
RCC-DISABLE
Enable/disable Runtime Codec Change (RCC)
[NO
, YES
]. This feature
permits the change of the coder once the call is already
established. The purpose of this feature, which is perfectly SIP
compliant, is to avoid transcoding all the times that it is
possible by choosing a coder which is supported by both sides
although not currently in use. This feature is very effective when
call transfers takes place. A user may have two calls with two
different parties that use two different codec, e.g. G.711 and
G.729, when a call transfer is ordered the two parties will be
directly connected but since one party was using G.711 and the
other G.729 we were forced to make a transcoding even if both
supports G.729. With the RCC feature the party running G.711 will
be changed on the fly to G.729. The run time codec change allows
to save voice quality and sw and hw resource in case of
transcoding. Disable the RCC only if the SIP devices have troubles
in handling the codec change.
UA
Local user agent. AUTO
or from 1 up to 32
ASCII printable characters. Case is preserved. Spaces are allowed.
Strings holding spaces must be written between quotation marks
(E.g.: "my user agent"). Abilis may present itself as a different
device, it's useful to avoid filters based on User Agent.
wdir
Working directory where persistent information is stored. It cannot be empty. Physical full path in DOS notation, i.e. starting with a drive letter in the range ['A'..'Z'] and ending with the '\' character. Max. 128 characters. Case is preserved. Spaces are allowed. Strings holding spaces must be written between quotation marks (E.g.: "C:\My dir\").
The following command allows the administrator to change the configuration of the resource:
s p ctisip
parameter
:value
...
Caution | |
---|---|
To activate the changes made on the upper case parameters, execute the initialization command init res:ctisip; while to set act the changes made on the lowercase parameters a save conf and an Abilis restart are required (i.e. With warm start command). |