Table of Contents

Webdialer

WebDialer WSDL File for CUCM

https://myserver.mydomain.com:8443/webdialer/wsdl/wd70.wsdl

Reference Character Encoding (needed for WebDialer)

https://grox.net/utils/encoding.html

Use Postman for testing the XML API (Extension Mobility)

CUCM Extension Mobility API

https://developer.cisco.com/media/EMAPI_Developer_Guide/index.html?_toc370817188.html

CUCM Webdialer SOAP Developer Guide

https://developer.cisco.com/site/webdialer/develop-and-test/documentation/developer-guide/
https://developer.cisco.com/site/webdialer/develop-and-test/documentation/developer-guide/#makecallsoap

Developer Overview – how to enable click to dial for a Extension Mobility User

  1. Use Extension Mobility XML API to get the Users “Phone Device Name”, e.g. the phone name “SEP0038DFA2ED28”, that the user is logged into.
  2. Use WebDialer SOAP MakeCall to do a click to dial

DETAILED STEPS

STEP 1 – Use Extension Mobility API to find out the Phone Device Name for the logged in user.

Note: I tested this step using the Developer tool “POSTMAN”

HTTPS POST
Content-Type: application/x-www-form-urlencoded
URL: https://my-cucm-server:8443/emservice/EMServiceServlet

xml Query

<query>
    <appInfo>
        <appID>webdialer</appID>
        <appCertificate>myappuser-password</appCertificate>
    </appInfo>
    <userDevicesQuery>
        <userID>11151</userID>
    </userDevicesQuery>
</query>

Example Screenshot of Postman - with the XML POST

RESPONSE

<?xml version="1.0"?>
<!DOCTYPE response SYSTEM "http://10.24.30.40:8080/emservice/jsp/LoginQueryResults.dtd">
<response>
    <userDevicesResults>
        <user id="11151">
            <deviceName>SEP0038DFA2ED28</deviceName>
        </user>
    </userDevicesResults>
</response>

STEP 2 – Send a Make Call Request using the Webdialer SOAP API

I tested this step using the developed tools SOAP UI

Send the Below SOAP Request for the user ‘11151’

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WD70">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:makeCallSoap soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <in0 xsi:type="urn:Credential">
            <userID xsi:type="xsd:string">webdialer</userID>
            <password xsi:type="xsd:string">ClickToDial!</password>
         </in0>
         <in1 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">14155</in1>
         <in2 xsi:type="urn:UserProfile">
            <user xsi:type="xsd:string">11151</user>
            <deviceName xsi:type="xsd:string">SEP0038DFA2ED28</deviceName>
            <lineNumber xsi:type="xsd:string"></lineNumber>
         </in2>
      </urn:makeCallSoap>
   </soapenv:Body>
</soapenv:Envelope>

RESPONSE

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:makeCallSoapResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:WD70">
         <makeCallSoapReturn href="#id0"/>
      </ns1:makeCallSoapResponse>
      <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:CallResponse" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:WD70">
         <responseCode href="#id1"/>
         <responseDescription xsi:type="xsd:string">Success</responseDescription>
      </multiRef>
      <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">0</multiRef>
   </soapenv:Body>
</soapenv:Envelope>