87.4. CTI system

87.4.1. How can I manage alternative CTI routings?

If the called phone is busy or not responding, the call is forwarded to the next routing if in the current one the NEXT parameter is set to TRANSFERT.

When the parameter LAST is set to BUSY or NOANS or OTHER the routings can match only if the last failure reason matches the one specified in LAST.

Note that:

  • Routing with LAST <> ANY can match only if a previous routing failed; they will never match as first routing;

  • When a routing with LAST <> ANY fails, the original failure reason isn't updated.

For example:

[18:19:55] ABILIS_CPX:d ctir

Last change: 03/09/2015 15:02:30 CET

---+------+-----------------+---------+--------------------+-------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
-------------------------------------------------------------------------------
0   VOICE  #    *        #   PBX       ??                    *  
    TRANSFERT    ANY         NO   Dft  *                     *
-------------------------------------------------------------------------------
1   VOICE  #    *        #   PBX       ??                    22 
    TRANSFERT    BUSY        NO   Dft  *                     *
-------------------------------------------------------------------------------
2   VOICE  #    *        #   PBX       ??                    01
    TRANSFERT    NOANS       NO   Dft  *                     *
-------------------------------------------------------------------------------
3   VOICE  #    *        #   DISA      ??                    99
    NO           OTHER       NO   Dft  *                     *
-------------------------------------------------------------------------------
  • PR:0 is the main CTIR.

  • If PR:0 fails with BUSY reason PR:1 is executed, e.g. call sent to a colleague.

  • If PR:0 fails with NOANS reason PR:2 is executed, e.g. call sent to the PBX main operator.

  • If PR:0 fails with OTHER reasons (other than BUSY and NOANS) PR:3 is executed, e.g. call sent to a DISA group that plays a message telling that call could not be delivered.

87.4.2. How does Round Robin scanning method work in the CTI Port Group?

If in a CTI group the S parameter is set to R, the incoming calls are directed towards the CTI ports in a circular manner; e.g. the first call is forwarded to the port set in P1 parameter, the second call is forwarded to the port set in P2 parameter, etc.

If a port is busy or not responding, the call is forwarded to the next port if the R parameter is set to UN (unconditional). In case of “no answer” the call is forwarded to the next port after the time interval set in the T301 parameter; in case of “busy” the call is immediately forwarded to the next port.

For example:

[18:19:55] ABILIS_CPX:d ctir pr:28

Last change: 03/09/2015 15:02:30 CET

---+------+-----------------+---------+--------------------+-------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
-------------------------------------------------------------------------------
28  VOICE  #    *        #   G1        'technicians'        *  
    TRANSFERT    ANY         NO   15   *                    *
    6400   Sys   Sys   Sys   Sys  Sys  *                    *
-------------------------------------------------------------------------------


[18:15:21] ABILIS_CPX:d ctig

----------------------------------+------------------------------------------------
ID: [DESCR:]
    S: R:                 MC: P:  |P1       P2       P3       P4       P5       ...
                                  |...      P62      P63      P64
    [Px:         CDO:  CGO:  SDO:  SGO:  RGO:  SP:  CODERS:  DJ:  MJ:  T301:      ]
----------------------------------+------------------------------------------------
0   [Iax/Sip/Disa/Vo group (Read Only)]
    R  ST                 MAX NO  |Iax      Sip      Disa     Vo       .        
----------------------------------+------------------------------------------------
1   M  UN                 MAX YES |104      110      108      .        .        
----------------------------------+------------------------------------------------
[Note]Note

If the T301 parameter is set to the default value (180 sec.), the call isn't forwarded to the next port.

87.4.3. How can I change the POTS/VPOTS number length?

By default, the POTS/VPOTS port numbers are 2 digits long; it's possible to change their length by modifying the NUM-LENGTH parameter in the CTISYS resource (available values are: [1..20]). For example:

s p ctisys num-length:3Change the NUM parameter length to 3.
save confSave the configuration.
init ctisysInitialize the CTISYS resource.

87.4.4. How can I activate the Calling Line Identification Presentation (CLIP) on POTS ports?

Set the CLIP parameter to YES in the CTISYS resource.

s p ctisys clip:yesActivate the Calling Line Identification Presentation.
save confSave the configuration.
init ctisysInitialize the CTISYS resource.
[Tip]Tip

Refer to this paragraph to know more about CLIP parameter.

87.4.5. How can I manage the Calling Line Identification (CLI) for outcoming calls?

Calling Line Identification can be statically managed in the CGO parameter in CTI Routings:

  • CGO:# : Set an empty information element. An empty information element in most cases is removed.

[18:19:55] ABILIS_CPX:d ctir pr:11

Last change: 03/09/2015 15:02:30 CET

---+------+-----------------+---------+--------------------+-------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
-------------------------------------------------------------------------------
11  VOICE  G1    #        #   G2        *                    *  
    NO            ANY         NO   Dft  *                    #
    64000   Sys   Sys   Sys   Sys  Sys  *                    *
-------------------------------------------------------------------------------

In the alternative, if the call is incoming from a POTS port which is configured with SS:YES and SS-PRES-CG:YES, it's possible to force CLIR/CLIP typing the following codes:

  • *60*<number-to-dial>: make a call to <number-to-dial> hiding the calling number;

  • *61*<number-to-dial>: make a call to <number-to-dial> presenting the calling number.

[22:47:50] ABILIS_CPX:d p ctipe:106

CTIP:106 DESCR:
Act     card:BSE-1<9>                   USER:06
Run     OPSTATE:UP        LOG:NO                               TYPE:USER
        signalling:POTS                 HOLD:YES     CT:ICT    SS:YES
        DEVICE:PHONE                                           AC:NO
        NUM:06                          ADDRBOOK-NUM:NUM
        AC-CDO:#                        AC-DLY:60
        LOOP:NO         TEST:NO           
        CLIP:SYS        CLIP-STD:SYS      CLIP-TAS:SYS    CLIP-LEVEL:SYS
        SENSING:SYS     ABF:SYS  HPF:SYS  DEBOUNCE:SYS    MIN-FLASH:SYS   
        COUNTRY:SYS                                       MAX-FLASH:SYS   
        DIALT:5         IN-GAIN-ADJ:SYS                   OUT-GAIN-ADJ:SYS
        AT:SYS          AT-CODE:SYS     AT-DURATION:SYS   BC:SYS
        DT:SYS          DT-CODE:SYS     DT-DURATION:SYS   OUT-DIAL-TONE:SYS
        SS-PICKUP:GROUPS                SS-PRES-CG:YES    NPOO-CT:SYS
        SS-CF-DND:YES                   SS-VM:YES
[Caution]Caution

In this case the CGO parameter in the CTIR routing must not be set to #.

87.4.6. How can I activate to view the caller's name on the display of SIP phones?

Set the DISPLAY-NAME parameter to ADDRBOOK in the CTISIP resource.

s p ctisip display-name:addrbookActivate to view the caller's name on the display of SIP phones. It searches the calling number in the user address book.
save confSave the configuration.
init res:ctisipInitialize the CTISIP resource.
[Tip]Tip

Refer to this paragraph to know more about Abilis Address Book.

87.4.7. Why during a call do I hear an Echo?

"Echo" consists in outgoing voice which is returned back to the talker with a delay of more than (say) 50 milliseconds. Indeed, echo is another annoying aspect of VoIP. With ISDN (TDM) networks the problem is not there because the round-trip delay stays within a few milliseconds.

About "Echo" there are a few basic concepts to keep in mind:

  • Echo originates from an unwished feedback loudspeaker-microphone and it starts to be perceivable when the roundtrip of the vocal path exceeds 20/30 msec, as it is the case of all VoIP systems.

  • When Echo occurs, the problem is not on the side of the listener, it is on the side of the talker (the feedback takes place there).

  • Such feedback -to some extent- is always there. Some telephone systems suppress it well, others make it worse. Besides the mechanical/electrical reduction of the feedback there is an algorithmic way to cancel it, when feedback is within certain limits.

  • when the signal is distorted or the feedback is too strong or too delayed (as with smartphones in handsfree operation) there is no way to cancel the echo.

Keeping these concepts in mind, I think that you can find where the problem resides. If solutions can be found within our range of control, we will surely help.

[Note]Note

Abilis-units are already suppressing the echo in a flawless way.

87.4.8. Why during a call do I hear a FAX handshaking?

During the compressed call, the calling or called phone intercepts the handshaking of a FAX located near the phone. The DSP used by Abilis identifies this signal as a request of FAX transmission and starts to simulate the FAX modulation.

The possible solutions are:

  • Mute the fax volume;

  • Disable the fax relay feature (FM-RELAY:NO in the setting of CTISYS resource, or FMRLY:NO in the specific CTIR routings).

87.4.9. How can I view the maximum number of simultaneous calls supported by Abilis?

To view the maximum number of simultaneous calls supported by Abilis type the command: d d ctiac or d de ctiac for the extended mode.

For example the following Abilis allows up to 8 simultaneous calls.

[16:16:35] ABILIS_CPX:d d ctiac

-------------------------------------------------------------------------------
AC   Card    DSP/C Bus/TS  DSPState ACState  ModeIn  ModeOut Coder      Ctip/BC
-------------------------------------------------------------------------------
  0  BRI4-2    0/0   8/00  RUN      IDLE     -       -       -                -
  1  BRI4-2    0/1   8/01  RUN      IDLE     -       -       -                -
  2  BRI4-2    0/2   8/02  RUN      IDLE     -       -       -                -
  3  BRI4-2    0/3   8/03  RUN      IDLE     -       -       -                -
  4  BRI4-2    1/0   9/05  RUN      IN-USE   VOICE   VOICE   Spirit/6.4k 108/01
  5  BRI4-2    1/1   9/06  RUN      IDLE     -       -       -                -
  6  BRI4-2    1/2   9/07  RUN      IDLE     -       -       -                -
  7  BRI4-2    1/3   9/08  RUN      IDLE     -       -       -                -

87.4.10. How can I view the available coders supported by the cards installed in Abilis?

To view the available coders supported by CTI cards installed in Abilis type the command: d d ctisys.

[16:32:16] ABILIS_CPX:d d ctisys

RES:CtiSys --------------------------------------------------------------------
       CTI_System_general_properties                                           
       CTIR-STATE:ENABLED     CALLS-CURRENT:0      CALLS-PEAK:0
       AC-STATE:ENABLED       AC-CURRENT:0         AC-PEAK:0
       ------------------------------------------------------------------------
       -- Number of simultaneous calls ----------------------------------------
                      | State: Alerting/Connected |        State: Any         |
       ---------------|---Current---|----Peak-----|---Current---|----Peak-----|
       TR             |           0 |           0 |           0 |           0 |
       DATA           |           0 |           0 |           0 |           0 |
       VtoCISDA       |           0 |           0 |           0 |           0 |
       CISDAtoCISDA   |           0 |           0 |           0 |           0 |
       CISDAtoV       |           0 |           0 |           0 |           0 |
       ALL            |           0 |           0 |           0 |           0 |
       ------------------------------------------------------------------------
       - AC and SWAC common available coders ----------------------------------
       -- Coder ---|-- Bit rates (kbps) --|-- Coder ---|-- Bit rates (kbps) --|
       G.711A      |64                    |G.711u      |64                    |
       G.723.1     |5.3, 6.3              |G.726       |16, 24, 32, 40        |
       G.729A      |8                     |TRANSPARENT |64                    |
       Spirit      |6.4, 7.2, 8, 8.8, 9.6 |G.727       |16/16, 24/16, 24/24,  |
                   |                      |            |32/16, 32/24, 32/32,  |
                   |                      |            |40/16, 40/24, 40/32   |
       ------------------------------------------------------------------------
       - SWAC and MCD limits by CPU -------------------------------------------
       MAX-SWAC-0ms:5    MAX-SWAC-8ms:4    MAX-SWAC-16ms:4    MAX-SWAC-32ms:4
       MAX-MCD-SPIRIT:5                    MAX-MCD-G729A:6
       - SWAC and MCD diagnostics ---------------------------------------------
       CUR-SWAC:0   PEAK-SWAC:0   REST-SWAC:0   MAX-SWAC:0    LIMIT-SWAC:CFG
       CUR-MCD:0    PEAK-MCD:0                  MAX-HDLC:8
       ------------------------------------------------------------------------
       - Clock Sources for H100 cards -----------------------------------------
       CLK:INT
       - Clock Sources for NOT-H100 cards -------------------------------------
       --- CARD ---|- CLK -|
       BSE-1       |  INT  |
       ------------------------------------------------------------------------

87.4.11. How can I change the volume of a compressed call?

It's possible to modify the OUT-GAIN parameter in the CTISYS resource. For example:

s p ctisys out-gain:+3Change the output gain in the range [MUTE, -31..+31 dB].
save confSave the configuration.
init ctisysInitialize the CTISYS resource.

For the phones connected to POTS cards, it's possible to modify the OG parameter in the specific CTI Routing. For example:

s ctir pr:5 og:+5Change the output gain in the range [SYS, MUTE, -31..+31 dB].
save confSave the configuration.
init ctirInitialize the CTI Routings.

87.4.12. How many VoIP channels are used, depending on the call's source and destination?

Codec used by the call coming from VoIP telephones in the LANAbilis routes the call towardVoIP channels occupiedBandwidth occupied by each channel (Kbit/s)
SIP Codec G.711Telecom ISDN network164
SIP Codec G.729Telecom ISDN network164
SIP Codec G.711Abilis over ISDN network29
SIP Codec G.729Abilis over ISDN network29
SIP Codec G.711VoIP provider with G.729232
SIP Codec G.729VoIP provider with Abilis Codec230 the first call, 9 the others calls
SIP Codec G.711VoIP provider with G.729032
SIP Codec G.729VoIP provider with Abilis Codec230 the first call, 9 the others calls
IAX2 Codec G.711Telecom ISDN network164
IAX2 Codec G.729Telecom ISDN network164
IAX2 Codec G.711Abilis over ISDN network29
IAX2 Codec G.729Abilis over ISDN network29
IAX2 Codec G.711VoIP provider with G.729232
IAX2 Codec G.729VoIP provider with Abilis Codec230 the first call, 9 the others calls
IAX2 Codec G.711VoIP provider with G.729032
IAX2 Codec G.729VoIP provider with Abilis Codec230 the first call, 9 the others calls
[Note]Note

1 DSP manages 4 channels.

87.4.13. What happens if a call fails with the “CAUSE:FF B4 (CPX,Loop)”?

When a call ends with the disconnection code CAUSE:FF B4 (CPX,Loop), Abilis blocks the calls which enter and exit from the same ISDN port, when in the CTI Routing the POI parameter is set to *.

To enable the loop, you must add a CTI Routing with POI:<port_number> and OUT:<port_number> (e.g. POI:32, OUT:32) before the CTI Routing with POI:*.

[18:27:15] ABILIS_CPX:d ctir

Last change: 03/09/2015 15:02:30 CET

---+------+-----------------+---------+--------------------+-------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
-------------------------------------------------------------------------------
0   VOICE  32    #        #   32        *                    *  
    NO            ANY         NO   Dft  *                    *
    64000   Sys   Sys   Sys   Sys  Sys  *                    *
--------------------------------------------------------------------------------
1   VOICE  *     #        #   32        *                    *  
    NO            ANY         NO   Dft  *                    *
    64000   Sys   Sys   Sys   Sys  Sys  *                    *
-------------------------------------------------------------------------------

87.4.14. How can i configure SIP multialerting?

SIP multialerting is implemented. To configure SIP multialerting is needed to create heterogeneous groups of SIP phones.

87.4.15. How to solve SIP call transfer issues?

The transfer of calls is allowed only for users of the same SIP-DOMAIN.

Please configure the same SIP-DOMAIN for all SIP users. For example if the SIP-DOMAIN is "sipserver.com":

[12:30:48] ABILIS_CPX:s user:test sip-domain:sipserver.com 

COMMAND EXECUTED 

[12:30:51] ABILIS_CPX:s user:test2 sip-domain:sipserver.com

COMMAND EXECUTED 
[Note]Note

If the SIP-DOMAIN parameter isn't configured, then Abilis uses the local IP address. In this case will be necessary to configure as SIP-DOMAIN the local IP address of the ABILIS.

[Note]Note

Remember to save the configuration (save conf).

87.4.16. How to troubleshoot SIP registration problems

Because SIP users can be registered LOCAL (a remote peer is registered to Abilis) well as REMOTE (Abilis is registered to a remote peer), we will analyze both cases separately.

[11:04:10] ABILIS_CPX:d ctisip registry

User                             Host            Prot Port REG    LIFETIME  AGE
-------------------------------------------------------------------------------
voipclient                       080.080.080.080 UDP  5060 REMOTE      240    9
sip_peer                         192.168.020.104 UDP 46022 LOCAL       120  112
sip_phone                        192.168.020.107 UDP 56125 LOCAL       120  112

87.4.16.1. Troubleshooting of SIP LOCAL registration

  1. Verify the configuration of SIP user. The SIP-HOST and/or SIP-UDP-REMPORT (SIP-TCP-REMPORT) must be dynamic.

    [11:50:48] ABILIS_CPX:d user:test | dynamic
    
    SIP-HOST:             DYNAMIC
    SIP-REMPORT:          (DYNAMIC)

    Another parameter to be checked is SIP-IP-PERMIT.

    [14:43:03] ABILIS_CPX:d user:test | sip-ip    
    
    SIP-IP-PERMIT:        *

    If the value is "*", then any IP is allowed. The problem can be when is configured a specific IP and the registration is trying from another.

  2. Verify the CTISIP log

    [11:53:53] ABILIS_CPX:s ctisip log event:full
    
    Debug log mask was set to:ERR REG INFO 
    
    [11:54:15] ABILIS_CPX:d ctisip log
    
    CURRENT EVENTS LOG MASK: ERR REG INFO 
    
    20/07 11:54:32 [ 10] Opened new SIP REG channel
    20/07 11:54:32 [ 10] Declared user: test
    20/07 11:54:32 [ 10] Password is not valid, registration failed for user: test

    In this example the password entered is incorrect. Check your password and try again.

  3. Verify the CTISIP statistics

    • DENIED-IP

      [11:58:44] ABILIS_CPX:d s ctisip  
      
      RES:CtiSip --------------------------------------------------------------------
             Session_Initiation_Protocol                                             
             --- Cleared 0 days 03:38:24 ago, on 24/08/2020 at 11:16:53 -------------
             -----------|---INPUT---|--OUTPUT---|-----------|---INPUT---|--OUTPUT---|
             SUCC-CALL  |          0|          0|FAIL-CALL  |          0|          0|
             SUCC-REG   |          0|         55|FAIL-REG   |          0|          0|
             SUCC-SUB   |          0|           |FAIL-SUB   |          0|           |
             SUCC-NOT   |           |          0|FAIL-NOT   |           |          0|
             SUCC-TRAN  |          0|          0|FAIL-TRAN  |          0|          0|
             NOCHAN-CALL|          0|          0|NOCHAN-REG |          0|          0|
             NOCHAN-SUB |          0|           |NOCHAN-NOT |           |          0|
             EXP-RETRY  |          0|          0|DTMF       |          0|          0|
             HOLD       |          0|          0|UN-HOLD    |          0|          0|
             UNKNOWN    |          0|          0|REINVITES  |          0|          0|
             SIP-NOBUF  |          0|          0|OUTSEQ     |          0|           |
             DENIED-IP  |         20|           |BANNED-IP  |          0|           |
             ------------------------------------------------------------------------

      If value of the parameter DENIED-IP increases, then it means that registration requests arrive at ABILIS, but they are blocked by ABILIS, because IP addresses from that tries to register aren't allowed. In this case verify the configuration of parameters IPSRC and IPSRCLIST of the resource CTISIP.

      [12:19:41] ABILIS_CPX:d p ctisip
      
      RES:CtiSip --------------------------------------------------------------------
      Run    DESCR:Session_Initiation_Protocol
             LOG:NO                  ACT:YES                 TRACE:SIP
             siplog:ERR              siplogsize:200
             sesnum:10               non-invite-sesnum:50    max-sub:100
             wdir:C:\APP\SIP\
             -- IP settings and filters ---------------------------------------------
             LOCPORT-BASE:5060       RTP-PORT-BASE:6000      SIP-TOS:0-N
             LOCPORT-RANGE:100       rtp-port-range:70       RTP-TOS:0-D
             LOCPORT:5060                                    mxps:2172
             SRCADD:OUT-IP
             EXTERNAL-IP:OUT-IP                    
             IPSRC:127.000.000.001   IPSRCLIST:PrivateIpAdd
             -- Sip signalling ------------------------------------------------------
             DOMAIN:
             UA:AUTO (Abilis CPX - Ver. 8.9.2/STD - Build 4665.50 - Branch 8.9)
             LOC-REG-EXPIRY:120      QUALIFY:15              AUTH-TOUT:4
             LOC-SUB-EXPIRY:180      KEEPALIVE:90            AUTH-TOUT-INVITE:4
             MAX-NNI-FWD:2           CPO-SIGNALLING:NO       T1:500   T2:4    T4:5
             -- RTP Audio codecs and Fax --------------------------------------------
             CPO-RTP:NO              DTMF-MODE:RFC2833       T38:YES
             CHAN-FREQ:20            DTMF-PLAY:100           T38-G711:NO
             DISC-AUDIO:NO           DTMF-SILENCE:100        T38-PACKING:1
             RTP-REORDER:0           DTMF-DETECT-PLAY:40     T38-REDUND:REDUNDANCY
             T38-REORDER:0           DTMF-DETECT-SILENCE:40  T38-REDUND-PCK:1        
             -- Ctir signalling -----------------------------------------------------
             ROUTING:PREFIX          ROUTE-BY-SD:NO          CLIP-RULE:PRIVATE
             DIALT:5                 PROVIDE-SG:NO           CTIP-TYPE:USER
             T302:15                 RG-IN:DISABLE           NPOO-CT:SYS (NO) 

      The default configured list of source IP address acceptance (IPSRCLIST) is the list of private IPs.

      [12:58:32] ABILIS_CPX:d list:PrivateIpAdd
      
      LIST:PrivateIpAdd         - IR                - Ref-Numb:6     Items-Numb:4    
           Automatically_generated_Private_Networks_list_(ReadOnly)
           --------------------------------------------------------------------------
           010.000.000.000:010.255.255.255    127.000.000.000:127.255.255.255    
           172.016.000.000:172.031.255.255    192.168.000.000:192.168.255.255 

      This situation happens often when the SIP phone is located outside the local network. This problem is solved by modifying the parameters mentioned above (IPSRC and IPSRCLIST).

      If the IP from which trying to register the SIP phone is static, then you can create another list of IP that will be needed later to set at the parameter IPSRCLIST. But if the IP is dynamic will be necessary to set the parameter IPSRC with value "*". The second solution is valid for both cases, but it has a greater security risk.

      [11:22:02] ABILIS_CPX:s p ctisip ipsrc:*
      
      COMMAND EXECUTED
      [Warning]Warning

      To activate the changes made, execute the initialization command init ctisys. Remember to save the configuration (save conf).

    • BANNED-IP

      [13:14:15] ABILIS_CPX:d s ctisip
      
      RES:CtiSip --------------------------------------------------------------------
             Session_Initiation_Protocol                                             
             --- Cleared 0 days 03:38:24 ago, on 24/08/2020 at 11:16:53 -------------
             -----------|---INPUT---|--OUTPUT---|-----------|---INPUT---|--OUTPUT---|
             SUCC-CALL  |          0|          0|FAIL-CALL  |          0|          0|
             SUCC-REG   |          0|         55|FAIL-REG   |          0|          0|
             SUCC-SUB   |          0|           |FAIL-SUB   |          0|           |
             SUCC-NOT   |           |          0|FAIL-NOT   |           |          0|
             SUCC-TRAN  |          0|          0|FAIL-TRAN  |          0|          0|
             NOCHAN-CALL|          0|          0|NOCHAN-REG |          0|          0|
             NOCHAN-SUB |          0|           |NOCHAN-NOT |           |          0|
             EXP-RETRY  |          0|          0|DTMF       |          0|          0|
             HOLD       |          0|          0|UN-HOLD    |          0|          0|
             UNKNOWN    |          0|          0|REINVITES  |          0|          0|
             SIP-NOBUF  |          0|          0|OUTSEQ     |          0|           |
             DENIED-IP  |          0|           |BANNED-IP  |         38|           |
             ------------------------------------------------------------------------

      If value of the parameter BANNED-IP increases, then it means that registration requests arrive at ABILIS, but they are blocked by IPBAN of ABILIS, because it was entered wrong password several times.

      Type the following command to view the banned IP of resource CTISIP.

      [13:15:02] ABILIS_CPX:d ipban banned res:ctisip
      
      Banned IP addresses:1
      
      RES      |       IP        | Banned Time (mm:ss) | Remaining Time (mm:ss)
      ---------+-----------------+---------------------+-------------------------
      CtiSip     192.168.020.107   60:0                  58:26                 

      If among banned IP is present your IP, then delete it from the list.

      [13:28:49] ABILIS_CPX:c ipban banned res:ctisip ip:192.168.20.107
      
      COMMAND EXECUTED 

      Change the correct password and try again.

  4. Check if there is any access list (IPACL) on ABILIS that can block ports used by SIP resource. Type the following command to view the configured IPACL:

    [13:34:00] ABILIS_CPX:d ipacl
    
    IPRTR resource parameters:  ACL:YES       ACLBYPASS:#
                                COS:ENABLED   COSDFT:NORMAL
    
    Tot-IPACL-Number:6
    
    -------------------------------------------------------------------------------
    PR: [DESCR:]
        TYPE:  SA:                             PROT:              ICMP-TYPE:
        IPCOS: DA:                             SPO:/PO:           DPO:
        TOS-O: TOS-I:                          SRES:              DRES:
               TI:
    -------------------------------------------------------------------------------
    0   DENY   *                               udp                
        DFT    *                               5060               
    -------------------------------------------------------------------------------
    1   PERMIT *                               udp                
        HIGH   *                               *                  
        *      *-D                             INT                *
    -------------------------------------------------------------------------------
    2   PERMIT 192.168.001.070                 udp                
        HIGH   *                               *                  *
        *      *                               Ip-2               Ip-5
    -------------------------------------------------------------------------------

    In this example, the pr:0, block the UDP port 5060, that is used by CTISIP resource. Remove this rule with following command:

    [13:41:55] ABILIS_CPX:c ipacl pr:0
    
    COMMAND EXECUTED 
    [Warning]Warning

    Remember to save the configuration (save conf).

  5. Verify if SIP packets arrive at ABILIS using the IPFLOW tracer

    Add a IPFLOW filter to verify the IP packets with source/destination port 5060.

    [13:56:33] ABILIS_CPX:ipflow filter add id:1 po:5060
    
    COMMAND EXECUTED 

    Remember to save the configuration (save conf).

    Activate trace.

    [14:04:09] ABILIS_CPX:ipflow act
    
    COMMAND EXECUTED

    Once IPFLOW tracer is activated, it must be started to make packet trace.

    [14:07:12] ABILIS_CPX:ipflow start
    
    COMMAND EXECUTED

    To display what IPFLOW has traced, the ipflow display command is used.

    [14:08:10] ABILIS_CPX:ipflow display
    
    --------------------------------------------------------------------------------
    REC: 1                                                    21/07/2016 - 14:07:18
    Packet IN:
      SA:192.168.020.107 DA:192.168.029.254 PROT:udp  SPO:64703  DPO:5060  LEN:32
      SIP:8   SRC-MAC:00-00-00-00-00-00 DST-MAC[?]:00-00-00-00-00-00  VLAN-PRIO:0
    NAT:
      IncomingSide:INSIDE
      DstRC:NONE      
      SrcRC:NONE      
    Internal destination:
      Packet forwarded to internal udp upper layer
    Main return Code: GOOD (UDP)
    --------------------------------------------------------------------------------
    REC: 2                                                    21/07/2016 - 14:07:18
    Packet IN:
      SA:212.000.211.152 DA:192.168.010.254 PROT:udp  SPO:5060   DPO:5060  LEN:33
      SIP:2   SRC-MAC:6C-19-8F-F9-73-D0 DST-MAC[U]:00-E0-4C-20-07-17  VLAN-PRIO:0
    IPSEC decode:
      RetCode:BYPASSED Tunnel:NO   NatSide:NP      IntDst:YES
    NAT:
      IncomingSide:OUTSIDE
      DstRC:NONE      
      SrcRC:NONE      
    Internal destination:
      Packet forwarded to internal udp upper layer
    Main return Code: GOOD (UDP)
    --------------------------------------------------------------------------------

    In this example the packets arrive at ABILIS.

    If packets do not arrive, we will see the following error:

    [14:06:36] ABILIS_CPX:ipflow display
    
    IPFLOW TRACER EMPTY

    Using the IPFLOW traces can also see if the packets are blocked by IPACL. If a packet is blocked by IPACL, we have the following output:

    [14:22:08] ABILIS_CPX:ipflow display
    
    --------------------------------------------------------------------------------
    REC: 1                                                    21/07/2016 - 14:22:11
    Packet IN:
      SA:192.168.020.107 DA:192.168.029.254 PROT:udp  SPO:64703  DPO:5060  LEN:32
      SIP:8   SRC-MAC:00-00-00-00-00-00 DST-MAC[?]:00-00-00-00-00-00  VLAN-PRIO:0
    IPACL check:
      DIP:1  
      IPACL PR:0         IPCOS:DEFAULT 
    Main return Code: DATAGRAM DISCARDED DUE TO IPACL

    In this example the packet is blocked by IPACL pr:0. Please refer to the previous point.

  6. Verify the SIP REGISTER messages using the Trace functionalities

    Please refer to: Section 82.32.1, “How to trace only the SIP traffic”.

87.4.16.2. Troubleshooting of SIP REMOTE registration

  1. Verify the configuration of SIP user. Pay attention to SIP-REM-REG parameter must be enabled and the SIP-REM-USER, SIP-REM-AUTH-USER and SIP-REM-PASS parameters must be configured.

    [15:13:19] ABILIS_CPX:d user:voipclient | rem-  
              
    SIP-REM-USER:         voipclient
    SIP-REM-PASS:         ********
    SIP-REM-AUTH:         SYS
    SIP-REM-AUTH-USER:    AUTO (voipclient)
    SIP-REM-REG:          YES     
  2. Verify the CTISIP log

    [08:52:32] ABILIS_CPX:s ctisip log event:full
    
    Debug log mask was set to:ERR REG INFO 
    
    [08:53:32] ABILIS_CPX:d ctisip log
    
    CURRENT EVENTS LOG MASK: ERR REG INFO 
    
    22/07 08:52:24 [ 10] Opened new SIP REG channel with 192.168.20.254:5060
    22/07 08:52:24 [ 10] Registering with peer test3
    22/07 08:52:28 [ 10] Reg Info in OUT channel with 192.168.20.254:5060
    22/07 08:52:28 [ 10] AUTH timer timeout
    22/07 08:52:28 [ 10] Freeing the channel
    22/07 08:52:28 [ 10] Info in IN channel with 192.168.20.254:5060
    22/07 08:52:28 [ 10] Info in IN channel with 192.168.20.254:5060
    22/07 08:52:28 [ 10] Freeing the channel
    22/07 08:52:52 [ 10] Opened new SIP REG channel with 192.168.20.254:5060
    22/07 08:52:52 [ 10] Registering with peer test3
    22/07 08:52:56 [ 10] Error in OUT channel with 192.168.20.254:5060
    22/07 08:52:56 [ 10] Error in OUT channel with 192.168.20.254:5060
    22/07 08:52:56 [ 10] Freeing the channel

    In this example, the possible issue is the incorrect SIP-REM-USER or SIP-REM-AUTH-USER or SIP-REM-PASS SIP-REM-USER. Verify these parameters and try again.

  3. Verify the CTISIP statistics

    [11:58:44] ABILIS_CPX:d s ctisip  
    
    RES:CtiSip --------------------------------------------------------------------
           Session_Initiation_Protocol                                             
           --- Cleared 0 days 03:38:24 ago, on 24/08/2020 at 11:16:53 -------------
           -----------|---INPUT---|--OUTPUT---|-----------|---INPUT---|--OUTPUT---|
           SUCC-CALL  |          0|          0|FAIL-CALL  |          0|          0|
           SUCC-REG   |          0|         55|FAIL-REG   |          2|          0|
           SUCC-SUB   |          0|           |FAIL-SUB   |          0|           |
           SUCC-NOT   |           |          0|FAIL-NOT   |           |          0|
           SUCC-TRAN  |          0|          0|FAIL-TRAN  |          0|          0|
           NOCHAN-CALL|          0|          0|NOCHAN-REG |          0|          0|
           NOCHAN-SUB |          0|           |NOCHAN-NOT |           |          0|
           EXP-RETRY  |          0|          0|DTMF       |          0|          0|
           HOLD       |          0|          0|UN-HOLD    |          0|          0|
           UNKNOWN    |          0|          0|REINVITES  |          0|          0|
           SIP-NOBUF  |          0|          0|OUTSEQ     |          0|           |
           DENIED-IP  |         20|           |BANNED-IP  |          0|           |
           ------------------------------------------------------------------------

    If value of the parameter DENIED-IP increases, then it means that registration answers arrive at ABILIS, but they are blocked by ABILIS. In this case verify the configuration of parameters IPSRC and IPSRCLIST of the resource CTISIP.

    [12:19:41] ABILIS_CPX:d p ctisip
    
    RES:CtiSip --------------------------------------------------------------------
    Run    DESCR:Session_Initiation_Protocol
           LOG:ALL                 ACT:YES                 TRACE:SIP
           siplog:ERR              siplogsize:200
           sesnum:10               non-invite-sesnum:50    max-sub:100
           wdir:C:\APP\SIP\
           -- IP settings and filters ---------------------------------------------
           LOCPORT-BASE:5060       RTP-PORT-BASE:6000      SIP-TOS:0-N
           LOCPORT-RANGE:100       rtp-port-range:70       RTP-TOS:0-D
           LOCPORT:5060                                    mxps:2172
           SRCADD:OUT-IP
           EXTERNAL-IP:092.115.190.246
           IPSRC:127.000.000.001   IPSRCLIST:PrivateIpAdd
           -- Sip signalling ------------------------------------------------------
           DOMAIN:abilis.voip.net
           UA:AUTO (Abilis CPX - Ver. 8.9.2/STD - Build 4665.50 - Branch 8.9)
           LOC-REG-EXPIRY:120      QUALIFY:15              AUTH-TOUT:4
           LOC-SUB-EXPIRY:180      KEEPALIVE:90            AUTH-TOUT-INVITE:4
           MAX-NNI-FWD:2           CPO-SIGNALLING:NO       T1:500   T2:4    T4:5
           -- RTP Audio codecs and Fax --------------------------------------------
           CPO-RTP:NO              DTMF-MODE:RFC2833       T38:YES
           CHAN-FREQ:20            DTMF-PLAY:100           T38-G711:NO
           DISC-AUDIO:NO           DTMF-SILENCE:100        T38-PACKING:1
           RTP-REORDER:0           DTMF-DETECT-PLAY:40     T38-REDUND:REDUNDANCY
           T38-REORDER:0           DTMF-DETECT-SILENCE:40  T38-REDUND-PCK:1        
           -- Ctir signalling -----------------------------------------------------
           ROUTING:EN-BLOC         ROUTE-BY-SD:YES         CLIP-RULE:PRIVATE
           DIALT:5                 PROVIDE-SG:YES          CTIP-TYPE:NET-PUBLIC
           T302:15                 RG-IN:ENABLE            NPOO-CT:SYS (NO) 

    The default configured list of source IP address acceptance (IPSRCLIST) is the list of private IPs.

    [12:58:32] ABILIS_CPX:d list:PrivateIpAdd
    
    LIST:PrivateIpAdd         - IR                - Ref-Numb:6     Items-Numb:4    
         Automatically_generated_Private_Networks_list_(ReadOnly)
         --------------------------------------------------------------------------
         010.000.000.000:010.255.255.255    127.000.000.000:127.255.255.255    
         172.016.000.000:172.031.255.255    192.168.000.000:192.168.255.255 

    This situation happens often when the SIP server is located outside the local network. This problem is solved by modifying the parameters mentioned above (IPSRC and IPSRCLIST).

    If the IP of the SIP server (the parameter SIP-HOST) is static, then you can create another list of IP, where insert the IP of SIP server and set the new list at the parameter IPSRCLIST. But if the IP is dynamic will be necessary to set the parameter IPSRC with value "*". The second solution is valid for both cases, but it has a greater security risk.

    [11:22:02] ABILIS_CPX:s p ctisip ipsrc:*
    
    COMMAND EXECUTED
    [Warning]Warning

    To activate the changes made, execute the initialization command init ctisys. Remember to save the configuration (save conf).

  4. Check if there is any access list (IPACL) on ABILIS that can block ports used by SIP resource. Type the following command to view the configured IPACL:

    [13:34:00] ABILIS_CPX:d ipacl
    
    IPRTR resource parameters:  ACL:YES       ACLBYPASS:#
                                COS:ENABLED   COSDFT:NORMAL
    
    Tot-IPACL-Number:6
    
    -------------------------------------------------------------------------------
    PR: [DESCR:]
        TYPE:  SA:                             PROT:              ICMP-TYPE:
        IPCOS: DA:                             SPO:/PO:           DPO:
        TOS-O: TOS-I:                          SRES:              DRES:
               TI:
    -------------------------------------------------------------------------------
    0   DENY   *                               udp                
        DFT    *                               5060               
    -------------------------------------------------------------------------------
    1   PERMIT *                               udp                
        HIGH   *                               *                  
        *      *-D                             INT                *
    -------------------------------------------------------------------------------
    2   PERMIT 192.168.001.070                 udp                
        HIGH   *                               *                  *
        *      *                               Ip-2               Ip-5
    -------------------------------------------------------------------------------

    In this example, the pr:0, block the UDP port 5060, that is used by CTISIP resource. Remove this rule with following command:

    [13:41:55] ABILIS_CPX:c ipacl pr:0
    
    COMMAND EXECUTED 
    [Warning]Warning

    Remember to save the configuration (save conf).

  5. Verify if SIP packets leave the Abilis and arrive at ABILIS using the IPFLOW tracer

    Add a IPFLOW filter to verify the IP packets with source/destination port 5060.

    [13:56:33] ABILIS_CPX:ipflow filter add id:1 po:5060
    
    COMMAND EXECUTED 

    Remember to save the configuration (save conf).

    Activate trace.

    [14:04:09] ABILIS_CPX:ipflow act
    
    COMMAND EXECUTED

    Once IPFLOW tracer is activated, it must be started to make packet trace.

    [14:07:12] ABILIS_CPX:ipflow start
    
    COMMAND EXECUTED

    To display what IPFLOW has traced, the ipflow display command is used.

    [09:43:28] ABILIS_CPX:ipflow display
    
    --------------------------------------------------------------------------------
    REC: 1                                                    22/07/2016 - 09:43:28
    Packet IN:
      SA:192.168.029.254 DA:192.168.020.254 PROT:udp  SPO:5060   DPO:5060  LEN:468
      SIP:INTERNAL
    NAT:
      IncomingSide:INSIDE
      DstRC:NONE      
      SrcRC:NONE      
    External destination:
      DIP:8   DST-GW:DIRECT
    Packet OUT:
      DIP:8   SRC-MAC:00-00-00-00-00-00 DST-MAC:00-00-00-00-00-00     VLAN-PRIO:0
      DST-GW:192.168.020.254  IPCOS-PRIO:NORMAL
    Main return Code: GOOD
    --------------------------------------------------------------------------------
    REC: 2                                                    22/07/2016 - 09:43:28
    Packet IN:
      SA:192.168.020.254 DA:192.168.029.254 PROT:udp  SPO:5060   DPO:5060  LEN:493
      SIP:8   SRC-MAC:00-00-00-00-00-00 DST-MAC[?]:00-00-00-00-00-00  VLAN-PRIO:0
    NAT:
      IncomingSide:INSIDE
      DstRC:NONE      
      SrcRC:NONE      
    Internal destination:
      Packet forwarded to internal udp upper layer
    Main return Code: GOOD (UDP)
    --------------------------------------------------------------------------------

    In this example the packets arrive at ABILIS.

    If neither one packet is not recorded, we will see the following error:

    [14:06:36] ABILIS_CPX:ipflow display
    
    IPFLOW TRACER EMPTY

    Using the IPFLOW traces can also see if the packets are blocked by IPACL. If a packet is blocked by IPACL, we have the following output:

    [09:47:40] ABILIS_CPX:ipflow display
    
    --------------------------------------------------------------------------------
    REC: 1                                                    22/07/2016 - 09:47:40
    Packet IN:
      SA:192.168.029.254 DA:192.168.020.254 PROT:udp  SPO:5060   DPO:5060  LEN:469
      SIP:INTERNAL
    IPACL check:
      DIP:8  
      IPACL PR:0         IPCOS:DEFAULT 
    Main return Code: DATAGRAM DISCARDED DUE TO IPACL
    --------------------------------------------------------------------------------

    In this example the packet is blocked by IPACL pr:0. Please refer to the previous point.

  6. Verify the SIP REGISTER messages using the Trace functionalities

    Please refer to: Section 82.32.1, “How to trace only the SIP traffic”.