remove call forwarding Via updateLine Using PHP

Version 1
    This document was generated from CDN thread

    Created by: Mike Thibodeau on 03-05-2013 01:04:40 PM
    I have been able to add calforwarding to a line but unable to remove it using updateLine API. CUCM v8.5
    Here's a snipit of my code...
            $line = array();
            $line['uuid'] = $uuid;
            $call_forward_reset = array('forwardToVoiceMail'=>'false','destination'=>'','callingSearchSpaceName'=>'');
            $line['callForwardAll']                                 = $call_forward_reset;
            $line['callForwardBusyInt']                     = $call_forward_reset;
            $line['callForwardBusy']                        = $call_forward_reset;
            $line['callForwardNoAnswer']                    = $call_forward_reset;
            $line['callForwardNoAnswerInt']                 = $call_forward_reset;
            $line['callForwardNotRegistered']               = $call_forward_reset;
            $line['callForwardNotRegisteredInt']    = $call_forward_reset;


           try {
                    $response = $cucm_client->updateLine($line);
                    $return['result'] = true;
                    $return['line'] = $line;
                    $return['response'] = cucm_convert_obj($response,'new_object');
            } catch (SoapFault $soap_fault) {
                    $return['result'] = false;
                    $return['soap_faultarray'] = cucm_convert_obj($soap_fault, 'new object');
            }

    Subject: RE: remove call forwarding Via updateLine Using PHP
    Replied by: Mike Thibodeau on 20-05-2013 01:15:13 PM
    I have found that the API will clear one of the call forwarding entries then stop processing the call forwarding settings.  I do not find the same issue if I set the calling search space name to a valid CSS & set forward to voice mail to true.

    "callForwardAll"
    "callForwardBusy"
    "callForwardBusyInt"
    "callForwardNoAnswer"
    "callForwardNoAnswerInt"
    "callForwardNotRegistered"
    "callForwardNotRegisteredInt"

    I have not attempted to clear the no coverage, on failure, or Alternate Party settings so I don't know where in the sequence they may fall.

    Is this the intended behavor of the updateLine API?

    Subject: RE: remove call forwarding Via updateLine Using PHP
    Replied by: David Staudt on 03-06-2013 06:20:02 PM
    Checking the sequence below on my 8.5(1) setup:

    - No forwarding configured
    - Set 'Forward All', 'Forward Busy Internal', and 'Forward Busy External' via AXL
    - Unset forwarding via AXL
    - Check via getLine/UI

    It seems to work for me, using soapUI and XML.  Please see the attached .txt file for the XML request/response sequence.
    Without more details, I might postulate that PHP is attempting to set the fields to 'empty string' rather than empty  and/or null  (with regard to XML types.)  It may be helpful to look at the actual XML request/response being sent, compared to the successful sequence.  AXL request/response can be viewed using the SOAP Monitor tool, or via the AXL service logs (RTMT, may need to enable detailed AXL logging.)