<div dir="ltr">I just happen to have PHP code to do this in AXL.  I make no promises.<div><br></div><div><b>Requirements:</b></div><div><br></div><div>1. You need a web server to run your PHP code on</div><div>2. You need to create a Phone Service pointing to your web server</div><div>3. You need to subscribe the phone to the service</div><div>4. You need to add an SURL line to the phone</div><div><br></div><div><b>Limitations</b>:</div><div><br></div><div>1. You cannot have more than on SURL to the same phone service on the phone.  However, you can create two phone services which point at the same URL to overcome this.</div><div>2. You unforward the phone with the normal unforwarding procedure (E.g., Forward Off softkey on 9971)</div><div><br></div><div><b>PHP Source Code:</b></div><div><br></div><div><div><font face="monospace, monospace"><?php</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// Set the content of the response to plain text</font></div><div><font face="monospace, monospace">header('Content-type: text/plain');</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// This is an internal URI to close the confirmation window</font></div><div><font face="monospace, monospace">header("Refresh: 1; url=Key:Soft1");</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// If no device name was given via HTTP GET, abort</font></div><div><font face="monospace, monospace">if (!array_key_exists('device', $_GET)) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">       </span>die();</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// Capture the given device name</font></div><div><font face="monospace, monospace">$target_device = $_GET['device'];</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// If no destination was given via HTTP GET, abort</font></div><div><font face="monospace, monospace">if (!array_key_exists('destination', $_GET)) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">      </span>die();</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">//Capture the new forwarding destination</font></div><div><font face="monospace, monospace">$target_destination = $_GET['destination'];</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// Setup the connection to the publisher</font></div><div><font face="monospace, monospace">$client = new SoapClient(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">   </span>'projects\cisco\axl\schema\10.5\AXLAPI.wsdl',</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">       </span>array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">              </span>'trace'=>true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">           </span>'exceptions'=>true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">              </span>'location'=>"<a href="https://cucmpub.company.com:8443/axl/">https://cucmpub.company.com:8443/axl/</a>",</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">         </span>'login'=>'admin',</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                </span>'password'=>'Cisco123',</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">  </span>)</font></div><div><font face="monospace, monospace">);</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// Try to pull the phone lines (DN and Index) via AXL</font></div><div><font face="monospace, monospace">try {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">     </span>$response = $client->getPhone(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">           </span>array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                      </span>'name' => $target_device,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                        </span>'returnedTags' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                         </span>'lines' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                        </span>'line' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                         </span>'index' => true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                         </span>'dirn' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                 </span>'pattern' => true</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                   </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                           </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                   </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">           </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">   </span>);</font></div><div><font face="monospace, monospace">} catch (Exception $fault) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">        </span>// Could not pull the phone lines, display error on phone and quit</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">  </span>die('Could not find this phone.');</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// line is an array of lines despite the name being singular</font></div><div><font face="monospace, monospace">if (isset($response->return->phone->lines->line)) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">    </span>// $lines is now an array of objects...or is it?</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">    </span>$lines = $response->return->phone->lines->line;</font></div><div><font face="monospace, monospace">} else {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">   </span>// There were no lines found on this phone, quit</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">    </span>die('No lines found.');</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// If there was only a single line on the phone, then $lines</font></div><div><font face="monospace, monospace">// is not an array, and so we make it one so that processing</font></div><div><font face="monospace, monospace">// a phone with a single line is the same as one with multiple</font></div><div><font face="monospace, monospace">if (!is_array($lines)) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">        </span>$lines = array($lines);</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">// Iterate over each line on the phone</font></div><div><font face="monospace, monospace">foreach ($lines as $line) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre"> </span>// But target only the line with an Index of 1 (primary line)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">       </span>if ($line->index == '1') {</font></div><div><span class="" style="white-space:pre"><font face="monospace, monospace">               </font></span></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">            </span>// Store a reference to the DN UUID for the primary line</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">            </span>$dirn = $line->dirn;</font></div><div><span class="" style="white-space:pre"><font face="monospace, monospace">     </font></span></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">            </span>// Try to make an AXL call to query the details of the line</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">         </span>try {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                       </span>$response = $client->getLine(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                            </span>array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                      </span>'uuid' => $dirn->uuid,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                        </span>'returnedTags' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                         </span>'pattern' => true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                               </span>'callForwardAll' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                       </span>'forwardToVoiceMail' => true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                    </span>'destination' => true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                   </span>'callingSearchSpaceName' => true,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                        </span>'secondaryCallingSearchSpaceName' => true</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                                </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                   </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                           </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                   </span>);</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">          </span>} catch (Exception $fault) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                        </span>// Something went wrong getting the details of the primary line</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                     </span>die('Could not get line details.');</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">         </span>}</font></div><div><span class="" style="white-space:pre"><font face="monospace, monospace">           </font></span></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">            </span>// $dirn was the uuid but now it's an object with line properties</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">               </span>$dirn = $response->return->line;</font></div><div><span class="" style="white-space:pre"><font face="monospace, monospace">              </font></span></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">            </span>// Try to update the line on the phone with the new target destination</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">              </span>try {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                       </span>$response = $client->updateLine(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                         </span>array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                      </span>'uuid' => $dirn->uuid,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                        </span>'callForwardAll' => array(</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                               </span>'forwardToVoiceMail' => 'false',</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                         </span>'destination' => $target_destination,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                            </span>'callingSearchSpaceName' => $dirn->callForwardAll->callingSearchSpaceName,</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                         </span>'secondaryCallingSearchSpaceName' => $dirn->callForwardAll->secondaryCallingSearchSpaceName</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                                        </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                           </span>)</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                   </span>);</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                  </span>// Display the outcome of the AXL call to the phone screen</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                  </span>echo "Successfully Forwarded to " . $target_destination;</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">          </span>} catch (Exception $fault) {</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                        </span>// Something went wrong with changing the line</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">                      </span>die('Could not update the line.');</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">          </span>}</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">   </span>}</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">?></font></div></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif"><b>CallManager Phone Service</b></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><img src="cid:ii_15049170a965271f" alt="Inline image 1" style="margin-right: 0px;"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><b>Subscribed to a Phone (with destination defined - would be different for different people)</b></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><img src="cid:ii_1504918b4d253ba2" alt="Inline image 2" style="margin-right: 0px;"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><b>Added as an SURL on the line:</b></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><img src="cid:ii_150491b70e3a124e" alt="Inline image 3" style="margin-right: 0px;"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><b>Phone Screen</b></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><img src="cid:ii_150491d494da32f8" alt="Inline image 4" style="margin-right: 0px;"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 8, 2015 at 2:36 PM, Ryan Ratliff (rratliff) <span dir="ltr"><<a href="mailto:rratliff@cisco.com" target="_blank">rratliff@cisco.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
You can achieve almost the same thing by configuring SNR on the line and using a Mobility button to enable/disable SNR.  This won’t be a forward strictly because the IP Phone will continue to ring, but it will toggle whether the call is extended to the mobile.
<div><br>
</div>
<div>Otherwise you could use a phone service that uses AXL to turn CFA on or off on the line.</div>
<div><br>
<div>-Ryan </div>
<br>
<div><div><div class="h5">
<div>On Oct 8, 2015, at 3:00 PM, Ryan Huff <<a href="mailto:ryanhuff@outlook.com" target="_blank">ryanhuff@outlook.com</a>> wrote:</div>
<br>
</div></div><div><div><div class="h5">
<div dir="auto">
<div>I should further add my suggestion would mean removing the line on the phone and creating it as a hunt pilot and then putting a pseudo number on the phone in place of the line, as the line group member.<br>
<br>
Sent from my iPad</div>
<div><br>
On Oct 8, 2015, at 2:54 PM, Ryan Huff <<a href="mailto:ryanhuff@outlook.com" target="_blank">ryanhuff@outlook.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div>Off the top .... (and this is by no means elegant);</div>
<div><br>
</div>
<div>1.) Create a hunt group with the pilot's CFWNA action to forward to the cell phone (using a Pstn egress patter). </div>
<div>2.) Make the line a member of the line group serviced by the hunt list/hunt group.</div>
<div>3.) Use an Hlog button on the phone to toggle whether the line is active in the line group or not.</div>
<div><br>
</div>
<div>You may need to play around with the diversion header settings and answer timers a bit ... etc, but in theory this should work.</div>
<div><br>
Sent from my iPad</div>
<div><br>
On Oct 8, 2015, at 2:38 PM, <a href="mailto:norm.nicholson@kitchener.ca" target="_blank">
norm.nicholson@kitchener.ca</a> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>


<div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I have a request to program a button to forward a line on a 7965/7916 to a cell phone automatically by pressing one button.  Do features like CFwdALL have a dialable number associated with them ?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b><span style="color:#00b050">Norm Nicholson<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="color:#00b050">Telecom Analyst<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="color:#00b050">City of Kitchener<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="color:#00b050"><a href="tel:%28519%29%20741-2200%20x%207000" value="+15197412200" target="_blank">(519) 741-2200 x 7000</a><u></u><u></u></span></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>cisco-voip mailing list</span><br>
<span><a href="mailto:cisco-voip@puck.nether.net" target="_blank">cisco-voip@puck.nether.net</a></span><br>
<span><a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank">https://puck.nether.net/mailman/listinfo/cisco-voip</a></span><br>
</div>
</blockquote>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>cisco-voip mailing list</span><br>
<span><a href="mailto:cisco-voip@puck.nether.net" target="_blank">cisco-voip@puck.nether.net</a></span><br>
<span><a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank">https://puck.nether.net/mailman/listinfo/cisco-voip</a></span><br>
</div>
</blockquote>
</div>
</div></div><span><Mail Attachment.txt></span><span><Mail Attachment.txt></span>_______________________________________________<span class=""><br>
cisco-voip mailing list<br>
<a href="mailto:cisco-voip@puck.nether.net" target="_blank">cisco-voip@puck.nether.net</a><br>
<a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank">https://puck.nether.net/mailman/listinfo/cisco-voip</a><br>
</span></div>
</div>
<br>
</div>
</div>

<br>_______________________________________________<br>
cisco-voip mailing list<br>
<a href="mailto:cisco-voip@puck.nether.net">cisco-voip@puck.nether.net</a><br>
<a href="https://puck.nether.net/mailman/listinfo/cisco-voip" rel="noreferrer" target="_blank">https://puck.nether.net/mailman/listinfo/cisco-voip</a><br>
<br></blockquote></div><br></div>