Disable Call Forward Always for all users in a group

This example performs the following.

  • Send UserGetListInGroupRequest to obtain a list of users in the group
  • Loop over all users in the result for the user id ($row[0])
  • Send UserCallForwardingAlwaysGetRequest to identify if they have the service active
  • If the service is active, send a UserCallForwardingAlwaysModifyRequest to set isActive to false
  • Repeat until user list is exhausted
<?php
require_once 'Broadworks_OCIP/common.php';

use Broadworks_OCIP\api\Rel_17_sp4_1_197_OCISchemaAS\OCISchemaUser\UserGetListInGroupRequest;
use Broadworks_OCIP\api\Rel_17_sp4_1_197_OCISchemaAS\Services\OCISchemaServiceCallForwardingAlways;

$client = Broadworks_OCIP\CoreFactory::getTCPClient(OCIP_HOST);
$client->login(OCIP_USER, OCIP_PASS);

$request  = new UserGetListInGroupRequest('enterprise-id', 'group-id');
$response = $request->get($client);
foreach ($response->getUserTable()->getAllRows() as $row) {
    $request  = new OCISchemaServiceCallForwardingAlways\UserCallForwardingAlwaysGetRequest($row[0]);
    $response = $request->get($client);
    if ($response->getIsActive() === 'true') {
        $request = new OCISchemaServiceCallForwardingAlways\UserCallForwardingAlwaysModifyRequest($row[0], 'false');
        $request->get($client);
    }
}

Get Call Forwarding Always for all group users as table

This example performs the following.

  • Create a new TableType object and set column headings for the data you are going to use
  • Send UserGetListInGroupRequest to obtain a list of users in the group
  • Loop over all users in the result for the user id ($row[0])
  • Foreach user in the group, check if there is a valid response object
  • If response, add a new row to the table by passing an array of values matching column headings
  • Render table output to screen by calling getValue() on table object
<?php
require_once 'Broadworks_OCIP/common.php';

use Broadworks_OCIP\core\Builder\Types\TableType;
use Broadworks_OCIP\api\Rel_17_sp4_1_197_OCISchemaAS\OCISchemaUser\UserGetListInGroupRequest;
use Broadworks_OCIP\api\Rel_17_sp4_1_197_OCISchemaAS\Services\OCISchemaServiceCallForwardingAlways;

$client = Broadworks_OCIP\CoreFactory::getTCPClient(OCIP_HOST);
$client->login(OCIP_USER, OCIP_PASS);

$table = new TableType('callForwardAlwaysTable');
$table->setColHeadings(['User Id', 'Is Active', 'Forwarding To', 'Is Ring Splash Active']);

$request  = new UserGetListInGroupRequest('enterprise-1', 'group-1');
$response = $request->get($client);

foreach ($response->getUserTable()->getAllRows() as $row) {
    $request  = new OCISchemaServiceCallForwardingAlways\UserCallForwardingAlwaysGetRequest($row[0]);
    $response = $request->get($client);
    if ($response) {
        $table->addRow([
            $row[0],
            $response->getIsActive(),
            $response->getForwardToPhoneNumber(),
            $response->getIsRingSplashActive()
        ]);
    }
}

echo $table->getValue();

Spits out:

+---------------------+-----------+---------------+-----------------------+
| User Id             | Is Active | Forwarding To | Is Ring Splash Active |
+---------------------+-----------+---------------+-----------------------+
| user-1@example.com  | false     | 01234123456   | false                 |
| user-2@example.com  | false     | 01234123456   | false                 |
| user-3@example.com  | false     | 01234123456   | true                  |
| user-4@example.com  | false     | 01234123456   | false                 |
| user-5@example.com  | false     | 01234123456   | false                 |
| user-6@example.com  | false     | 01234123456   | false                 |
| user-7@example.com  | true      | 01234123456   | false                 |
| user-8@example.com  | false     | 01234123456   | false                 |
| user-9@example.com  | false     | 01234123456   | false                 |
| user-10@example.com | false     | 01234123456   | false                 |
| user-11@example.com | false     | 01234123456   | false                 |
| user-12@example.com | false     | 01234123456   | false                 |
| user-13@example.com | false     | 01234123456   | false                 |
| user-15@example.com | false     | 01234123456   | false                 |
+---------------------+-----------+---------------+-----------------------+