# 分机管理

# 分机管理 - 获取分机启用状态

#### 接口说明

获取用户拥有的分机列表信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                                |
| :-------- | :----- | :--- | :-------------------------------- |
| service   | string | 是    | App.Sip\_Status.GetSipValidStatus |
| token     | string | 是    | 通过授权接口获取的token                    |
| extnumber | string | 是    | 分机号，多个分机号用英文逗号隔开                  |

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Status.GetSipValidStatus',
        'token'     => 'ABCDEFG',
        'extnumber'  => '100001'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "获取成功",
        "result": [
            {
                "extnumber": "90170002",
                "code": 1016
            }
        ],
        "reqtime": 1581508401,
        "rsptime": 1581508401
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明     |
| :--------- | :----- | :----- |
| result     | array  | 分机数据数组 |
| —extnumber | string | 分机号    |
| —code      | int    | 分机号状态  |

# 新页面



# 分机管理 - 获取分机通话状态

#### 接口说明

获取用户拥有的分机列表信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名 | 类型 | 是否必须 | 说明 |
| --- | --- | --- | --- |
| service | string | 是 | App.Sip\_Status.GetSipCallStatus |
| token | string | 是 | 通过授权接口获取的token |
| extnumber | string | 是 | 分机号，多个分机号用英文逗号隔开 |

#### 接口请求示例（PHP）

    <?php
        $apiUrl = 'http://127.0.0.1:8080';
        $postFields = [
            'service'   => 'App.Sip_Status.GetSipCallStatus',
            'token'     => 'ABCDEFG',
            'extnumber'  => '100001'
        ];
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $apiUrl);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
        $curlError = curl_error($curl);
        curl_close($curl);
        var_dump($response);
    ?>
    

#### 返回数据结构示例

    {
        "ret": 200,
        "data": {
            "status": 0,
            "desc": "获取成功",
            "result": [
                {
                    "extnumber": "90170002",
                    "status": 1014,
                    "caller": null,
                    "callee": null,
                    "disnumber": null,
                    "direction": null,
                    "channel": null,
                    "idleduration": null,
                    "callduration": null
                }
            ],
            "reqtime": 1581506689,
            "rsptime": 1581506689
        },
        "msg": ""
    }
    

#### 返回参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| result | array | 分机数据数组 |
| —extnumber | string | 分机号 |
| —status | int | 分机号状态 |
| —caller | string | 呼叫人 |
| —callee | string | 被叫人 |
| —disnumber | string | 显示号码 |
| —direction | string | 呼叫方向 |
| —channel | string | 渠道 |
| —idleduration | int | 空闲时长 |
| —callduration | int | 通话时长 |

# 分机管理 - 获取分机注册信息

#### 接口说明

获取用户拥有的分机列表信息。

#### 请求方式

POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                                   |
| :-------- | :----- | :--- | :----------------------------------- |
| service   | string | 是    | App.Sip\_Status.GetSipRegisterStatus |
| token     | string | 是    | 通过授权接口获取的token                       |
| extnumber | string | 是    | 分机号，多个分机号用英文逗号隔开                     |

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Status.GetSipRegisterStatus',
        'token'     => 'ABCDEFG',
        'extnumber'  => '100001'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "获取成功",
        "result": [
            {
                "extnumber": "90170002",
                "code": 1014,
                "clientip": null,
                "serverip": null
            }
        ],
        "reqtime": 1581507361,
        "rsptime": 1581507361
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明        |
| :--------- | :----- | :-------- |
| result     | array  | 分机数据数组    |
| —extnumber | string | 分机号       |
| —code      | int    | 分机号状态     |
| —clientip  | string | 分机注册客户端IP |
| —serverip  | string | 分机注册服务端Ip |

# 分机管理 - 获取分机列表

#### 接口说明

获取用户拥有的分机列表信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                               |
| :-------- | :----- | :--- | :------------------------------- |
| service   | string | 是    | App.Sip\_Sipnum.GetSipnumberInfo |
| token     | string | 是    | 通过授权接口获取的token                   |
| status    | int    | 是    | 分机状态。1:启用（默认）、2:禁用、3:全部          |
| extnumber | string | 否    | 分机号，为空获取所有                       |

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Sipnum.GetSipnumberInfo',
        'token'     => 'ABCDEFG',
        'status'    => 3,
        'extnumber'  => '100001'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "获取成功",
        "result": [
            {
                "extnumber": "100001",
                "password": "100001",
                "status": 1016,
                "register": "nreg"
            }
        ],
        "reqtime": 1581506241,
        "rsptime": 1581506241
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明                       |
| :--------- | :----- | :----------------------- |
| result     | array  | 分机列表数组                   |
| —extnumber | string | 分机号                      |
| —password  | string | 分机号登陆密码                  |
| —status    | int    | 分机号状态                    |
| —register  | string | 分机号注册状态。nreg：未注册；reg：已注册 |

# 分机管理 - 修改分机账号

#### 接口说明

修改用户分机信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                               |
| :-------- | :----- | :--- | :------------------------------- |
| service   | string | 是    | App.Sip_Sipnum.EditSipnumber |
| token     | string | 是    | 通过授权接口获取的token                   |
| extnumber | string | 是    | 分机号                       |
| password  | string | 否    | 分机密码          |
| username  | string | 否    | 分机用户名        |
| status    | int    |    否 | 状态 1:启用、2:禁用
| manualdial| int    | 否|是否直拨 1:启用、2:禁用|
| record    | int   | 否 |是否录音 1:启用、2:禁用|

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Sipnum.EditSipnumber ',
        'token'     => 'ABCDEFG',
        'extnumber'  => '100001',
        'password'  => '100001',
        'username'  => '100001',
        'status'    => 1,
        'manualdial'    => 1,
        'record'    => 1,
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "修改成功",
        "reqtime": 1581506241,
        "rsptime": 1581506241
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明                       |
| :--------- | :----- | :----------------------- |
| status     | int  | 0修改成功，1修改失败                   |

# 分机管理 - 添加分机账号

#### 接口说明

添加分机信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                               |
| :-------- | :----- | :--- | :------------------------------- |
| service   | string | 是    | App.Sip_Sipnum.AddSipnumber|
| token     | string | 是    | 通过授权接口获取的token                   |
| amount | int | 是    | 添加数量，默认1，最大1000                       |
| username  | string | 否    | 分机名称；amount为1时生效，未传则与账号一致；批量添加时名称与各自账号一致          |
| passwordprefix  | string | 是    | 密码前缀；最终密码为前缀+账号        |
| status    | int    |    否 | 状态 1:启用、2:禁用
| manualdial| int    | 否|是否直拨 1:启用、2:禁用|
| record    | int   | 否 |是否录音 1:启用、2:禁用|

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Sipnum.AddSipnumber',
        'token'     => 'ABCDEFG',
        'amount'  => '1',
        'username'  => '100001',
        'passwordprefix'  => 'pre',
        'status'    => 1,
        'manualdial'    => 1,
        'record'    => 1,
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "添加成功",
        "reqtime": 1581506241,
        "rsptime": 1581506241
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明                       |
| :--------- | :----- | :----------------------- |
| status     | int  | 0修改成功，1修改失败                   |

# 分机管理 - 删除分机账号

#### 接口说明

删除分机账号信息。

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                               |
| :-------- | :----- | :--- | :------------------------------- |
| service   | string | 是    | App.Sip_Sipnum.DelSipnumber|
| token     | string | 是    | 通过授权接口获取的token                   |
| extnumber  | string | 是    | 分机账号，多个用英文逗号分隔          |

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Sipnum.AddSipnumber',
        'token'     => 'ABCDEFG',
        'extnumber'  => '100001',
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "删除成功",
        "reqtime": 1581506241,
        "rsptime": 1581506241
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明                       |
| :--------- | :----- | :----------------------- |
| status     | int  | 0修改成功，1修改失败                   |

# 分机管理 - 批量修改密码

#### 接口说明

批量修改密码

#### 请求方式
POST，form-data格式

#### 请求参数

| 参数名       | 类型     | 是否必须 | 说明                               |
| :-------- | :----- | :--- | :------------------------------- |
| service   | string | 是    | App.Sip_Sipnum.BatchEditPassword|
| token     | string | 是    | 通过授权接口获取的token                   |                  |
| extnumber  | string | 否    | 分机账号，多个用英文逗号分隔         |
| passwordprefix  | string | 是    | 密码前缀；每个密码为前缀+对应账号        |

#### 接口请求示例（PHP）

```
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Sipnum.BatchEditPassword',
        'token'     => 'ABCDEFG',
        'extnumber'  => '100001',
        'passwordprefix'  => 'pre'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

```

#### 返回数据结构示例

```
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "添加成功",
        "reqtime": 1581506241,
        "rsptime": 1581506241
    },
    "msg": ""
}

```

#### 返回参数说明

| 参数名        | 类型     | 说明                       |
| :--------- | :----- | :----------------------- |
| status     | int  | 0修改成功，1修改失败                   |