This is the main documentation on DID Pool managing API 
Related documentation for Incoming Routing setup of an account

addDID()

 

Note: in order to add parent DID range (>=2023 version) incoming_did should either be passed with no values or should contain corresponding regex.


Parameters:

  • did - DID number. String. Required.
  • did_range_end - DID range end. String. Optional. (since 2023)
  • i_did_allocated_from - i_did that child DID or DID range is allocated from. Integer. Optional. (since 2023)
    • set the value to NULL to force the new DID or DID range to be allocated from the top level
  • incoming_did - Incoming DID number. String. Required.
  • translation_rule - Translation rule applied to DID. String. Optional.
  • cli_translation_rule - CLI translation rule. String. Optional.
  • description - custom description. String. Optional.
  • i_ivr_application - IVR application assigned to the DID. Integer. Optional.
  • i_account - account assigned to the DID. Integer. Optional.
  • i_dids_charging_group - Selling charging group. Integer. Optional.
  • i_vendor - Vendor to authenticate this DID. Integer. Optional.
  • i_connection - Connection to authenticate this DID. Integer. Optional.
  • buying_i_dids_charging_group - Charging group to charge vendor. Integer. Optional.
  • incoming_cli - Incoming CLI to match authentication rule. String. Optional. (since 2020)

Returns:

  • result - OK means that operation successful. String.
  • i_did - Integer. Id of added DID.

  • XMLRPC fault in case of any error.

updateDID()

Either i_did or did should be specified. At least one of the parameters must be updated.

Note: in order to remove Account's assignment from DID i_account should be supplied as nil, case i_did is supplied in such call, i_ivr_application should be supplied as nil too.
Case did is supplied in such call, it's enough to provide i_account as nil.


Note (since 2023):

As the feature for DID ranges is included, input parameters must conform to one of the following rules.

Input Parameters:

    1. i_did: The API should function in the same way that it did before.

    2. Only did: The API searches the DID number before the update by using did
                      because the did_range_end is not provided.

                      e.g. Suppose the following parent DID and child DID number are present.

      diddid_range_end
Parent DID range 100199
Child DID number100
NULL
  

                           When only did = 100 is provided, did_range_end is considered as NULL, such that child DID number
                           will be updated. If parent DID range needs to be updated, did_range_end = 199 must be supplied.                                                (Please reference following No.4).

    3. Only did_range_end : This case is invalid.

    4. did and did_range_end: These parameters are used to fetch DID range for the update. 


     * If did or did_range_end need to be updated, i_did must be provided.


Parameters:

  • i_did - DID's Id. Integer. Optional.
  • did - DID number. String. Optional.
  • did_range_end - DID range end. String. Optional. (since 2023) 
  • incoming_did - Incoming DID number. String. Optional.
  • translation_rule - Translation rule applied to DID. String. Optional.
  • cli_translation_rule - CLI translation rule. String. Optional.
  • description - custom description. String. Optional.
  • i_ivr_application - IVR application assigned to the DID. Integer. Optional.
  • i_account - account assigned to the DID. Integer. Optional.
  • i_dids_charging_group - Selling charging group to be used. Integer. Optional.
  • i_vendor - Vendor to authenticate this DID. Integer. Optional
  • i_connection - Connection to authenticate this DID. Integer. Optional
  • buying_i_dids_charging_group - Charging group to charge vendor. Integer. Optional
  • incoming_cli - Incoming CLI to match authentication rule. String. Optional. (since 2020)

Returns:

  • result - OK means that operation successful. String.
  • i_did - Integer. Id of updated DID.

  • XMLRPC fault in case of any error.

deleteDID()

Either i_did or did should be specified.


Note (since 2023):

As the feature for DID ranges is included, input parameters must conform to one of the following rules.

Input Parameters:

    1. i_did: The API should function in the same way that it did before.

    2. Only did: The API searches the DID number before the delete by using did
                      because the did_range_end is not provided. Reference the example of updateDID No.2.

    3. Only did_range_end : This case is invalid.

    4. did and did_range_end: These parameters are used to delete DID range.


Parameters:

  • i_did - DID's Id. Integer. Optional.
  • did - DID number. String. Optional.
  • did_range_end - DID range end. String. Optional. (since 2023)

Returns:

  • result - OK means that operation successful. String.

  • XMLRPC fault in case of any error.

getDIDInfo()

Either i_did or did should be specified.


Parameters:

  • i_did - DID's Id. Integer. Optional.
  • did - DID number. String. Optional.
  • did_range_end - DID range end. String. Optional. (since 2023)


Note (since 2023):

As the feature for DID ranges is included, input parameters must conform to one of the following rules.

Input Parameters:

    1. i_did: The API should function in the same way that it did before.

    2. Only did: The API searches the DID number by using did
                      because the did_range_end is not provided. Reference the example of updateDID No.2.

    3. Only did_range_end : This case is invalid.

    4. did and did_range_end: These parameters are used to get DID range.


Returns:

  • result - OK means that operation successful. String.
  • i_did - DID's Id. Integer.
  • did - DID number. String.
  • did_range_end - DID range end. String. (since 2023) 
  • i_did_allocated_from - i_did that child DID or DID subrange is allocated from. Integer. (since 2023) 
  • incoming_did - Incoming DID number. String.
  • translation_rule - Translation rule applied to DID. String
  • cld_translation_rule - CLD translation rule. String
  • cli_translation_rule - CLI translation rule. String.
  • description - custom description. String.
  • i_ivr_application - IVR application assigned to the DID. Integer.
  • i_account - account assigned to the DID. Integer.
  • i_dids_charging_group - Charging group to be used. Integer.
  • i_vendor - Vendor to authenticate this DID. Integer
  • i_connection - Connection to authenticate this DID. Integer
  • buying_i_dids_charging_group - Charging group to charge vendor. Integer
  • i_did_delegation - Id of DID delegation. Integer
  • delegated_to - Id of the subcustomer the DID is delegated to. Integer
  • parent_i_did_delegation - Id of the parent DID delegation entry. Integer. NULL - for the first delegation. (since 4.4)
  • incoming_cli - Incoming CLI to match authentication rule. String. Optional. (since 2021)

  • XMLRPC fault in case of any error.

getDIDsList()


Parameters:

  • did - DID number pattern (SQL syntax for the ILIKE operator is used). String. Optional.
  • incoming_did - Incoming DID number pattern (SQL syntax for the ILIKE operator is used). String. Optional.
  • delegated_to - assigned customer (Id of customer the DID is delegated to). Integer
  • i_account - assigned account. String. Optional.
  • i_ivr_application - assigned IVR application. Integer. Optional
  • not_assigned - DID is not assigned to any account, customer or IVR application. Boolean. Optional
  • offset - skip first offset rows. Integer. Optional
  • limit - return only limit rows. Integer. Optional

Returns:


  • result - OK means that operation successful. String.
  • dids- array of structures:
    • i_did - DID's Id. Integer.
    • did - DID number. String.
    • did_range_end - DID range end. String.
    • i_did_allocated_from - i_did that child DID or DID subrange is allocated from. Integer.
    • incoming_did - Incoming DID number. String.
    • translation_rule - Translation rule applied to DID. String
    • cli_translation_rule - CLI translation rule. String.
    • description - custom description. String.
    • i_ivr_application - IVR application assigned to the DID. Integer.
    • i_account - account assigned to the DID. Integer.
    • i_dids_charging_group - Charging group to be used. Integer.
    • i_vendor - Vendor to authenticate this DID. Integer
    • i_connection - Connection to authenticate this DID. Integer
    • buying_i_dids_charging_group - Charging group to charge vendor. Integer
    • i_did_delegation - Id of DID delegation. Integer
    • delegated_to - Id of the subcustomer the DID is delegated to. Integer
    • parent_i_did_delegation Id of the parent DID delegation entry. Integer. NULL - for the first delegation
    • incoming_cli - Incoming CLI to match authentication rule. String. Optional. (since 2020)

getDIDChargingGroupInfo()

List attributes of DID Charging group. Depending on type of DID Charging Group set of returned parameters could vary (starting from Sippy 2020)


Parameters:

  • i_dids_charging_group - Charging group to be used. Integer.

Returns:


  • result - OK means that operation successful. String.
  • i_dids_charging_group - Integer.
  • i_customer - Integer.
  • name - String.
  • description - String.
  • connect_fee - Float.
  • free_seconds - Integer.
  • grace_period - Integer.
  • price_1 - price per one minute. Float.
  • price_n - price per one minute. Float.
  • interval_1 - Integer.
  • interval_n - Integer.
  • iso_4217 - Currency code (ex. 'USD', 'EUR') based on iso-4217. String.
  • price - monthly fee. Float.
  • setup fee - setup fee. Float.
  • post_call_surcharge - Post Call Surcharge, fractional part. Float.
  • type- Type of group. Integer. Possible values:
    • 1 - Selling charging group
    • 2 - Buying charging group




addDIDDelegation()


Delegate a DID number to a subcustomer.

Any delegated DID number can be re-delegated to the subcustomer, e.g. Customer A delegates a DID to its subcustomer B, then subcustomer B re-delegates the DID to its subcustomer C, and so on. Number of re-delegations is not limited.



Parameters:

  • i_did - Id of the delegated DID. Integer. Required.
  • delegated_to - Id of the subcustomer the DID is delegated to. Integer. Required.
  • parent_i_did_delegation - Id of the parent DID delegation entry. Integer. Required. NULL - for the first delegation.
  • i_dids_charging_group - Charging group to be used. Integer. Optional.
  • description - Description. String. Optional.


Returns:

  • result - OK means that operation successful. String.
  • i_did_delegation - Id of added DID delegation. Integer.


  • XMLRPC fault in case of any error.




updateDIDDelegation()


  Update a DID delegation entry.


Parameters:

  • i_did_delegation - Id of DID delegation. Integer. Required.
  • i_dids_charging_group - Charging group to be used. Integer. Optional.
  • delegated_to - Id of the subcustomer the DID is delegated to. Integer. Optional.
  • description - Description. String. Optional.


Returns:

  • result - OK means that operation successful. String.
  • i_did_delegation - Id of added DID delegation. Integer.


  • XMLRPC fault in case of any error.




deleteDIDDelegation()


Delete a DID delegation entry.


Parameters:

  • i_did_delegation - Id of DID delegation. Integer. Required.

Returns:

  • result - OK means that operation successful. String.


  • XMLRPC fault in case of any error.