<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: programming python for Call Manager to Add Trunk in Management</title>
    <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3687654#M2914</link>
    <description>&lt;P&gt;The portion of the WSDL for the destination shows nested format&lt;/P&gt;
&lt;P&gt;allowing for multiple destinations:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destinations&amp;nbsp;&amp;nbsp; [ANON-destinations]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination&amp;nbsp;&amp;nbsp; [XSipTrunkDestination]&amp;nbsp;&amp;nbsp; Max: 16&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addressIpv4&amp;nbsp;&amp;nbsp; [String255]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addressIpv6&amp;nbsp;&amp;nbsp; [String255]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port&amp;nbsp;&amp;nbsp; [XInteger]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sortOrder&amp;nbsp;&amp;nbsp; [XInteger] REQUIRED&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I think you want to replace the IPv4 argument with something like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;'destinations': [ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'destination': &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 'addressIpv4': '1.1.1.1',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'port': 433,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'sortOrder': 1} &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;( I haven't tested it myself)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 14 Aug 2018 02:53:09 GMT</pubDate>
    <dc:creator>dcburleigh</dc:creator>
    <dc:date>2018-08-14T02:53:09Z</dc:date>
    <item>
      <title>programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680526#M2898</link>
      <description>&lt;P&gt;Trying to add a trunk port using Pythons and suds to do it.&amp;nbsp; Question is I do not know how to tell it to program the destination in the IPV4 address area within the added trunk call.&amp;nbsp; Below is a sample of a working sip profile and the none work add sip trunk.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;code that works:&lt;/P&gt;
&lt;P&gt;# Add Sip Profile&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("Adding SIP Profile to Call Manager")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = Client(wsdl,location=location, username=username, password=password)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ap = client.service.addSipProfile({&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'name': sProfileName + " Cisco Unity SIP Profile",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'description' : sProfileName + " Cisco Unity SIP Profile",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'enableOutboundOptionsPing': 'True'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("Command completed successfully! ")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;code that does not work.&lt;/P&gt;
&lt;P&gt;# Add Sip Trunk&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("Adding SIP Trunk to Call Manager")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = Client(wsdl,location=location, username=username, password=password)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ap = client.service.addsipTrunk({&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'name' : sProfileName + " Cisco Unity SIP Trunk",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'description' : sProfileName + " Cisco Unity SIP Trunk",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'devicePoolName' : "Phoenix",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'location' : "Phoenix",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'sipProfileName' : sProfileName + " Cisco Unity SIP Trunk",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'securityProfileName' : sProfileName + " Cisco Unity SIP Trunk",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'addressIpv4' : "10.10.10.10"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Error with code:&lt;/P&gt;
&lt;P&gt;Traceback (most recent call last):&lt;BR /&gt;&amp;nbsp; File "C:/Users/rwykoff/Documents/testing/voiceadd.py", line 38, in versioncheck&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; login(wsdl,location,username,password,imp)&lt;BR /&gt;&amp;nbsp; File "C:/Users/rwykoff/Documents/testing/voiceadd.py", line 123, in login&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mainMenu(wsdl,location,username,password,imp)&lt;BR /&gt;&amp;nbsp; File "C:/Users/rwykoff/Documents/testing/voiceadd.py", line 148, in mainMenu&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; addCiscoUnity(wsdl,location,username,password,newbuild)&lt;BR /&gt;&amp;nbsp; File "C:/Users/rwykoff/Documents/testing/voiceadd.py", line 279, in addCiscoUnity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'addressIpv4' : "10.10.10.10"&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\client.py", line 521, in __call__&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return client.invoke(args, kwargs)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\client.py", line 576, in invoke&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; soapenv = binding.get_message(self.method, args, kwargs)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\bindings\binding.py", line 109, in get_message&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = self.bodycontent(method, args, kwargs)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\bindings\document.py", line 95, in bodycontent&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; add_param, self.options().extraArgumentErrors)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\argparser.py", line 83, in parse_args&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return arg_parser(args, kwargs, extra_parameter_errors)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\argparser.py", line 108, in __call__&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameters()&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\argparser.py", line 299, in __process_parameters&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameter(*pdef)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\argparser.py", line 294, in __process_parameter&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__in_choice_context(), value)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\bindings\document.py", line 86, in add_param&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; p = self.mkparam(method, pdef, value)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\bindings\document.py", line 130, in mkparam&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Binding.mkparam(self, method, pdef, object)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\bindings\binding.py", line 225, in mkparam&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return marshaller.process(content)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\core.py", line 59, in process&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.append(document, content)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\core.py", line 72, in append&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.appender.append(parent, content)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\appender.py", line 88, in append&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appender.append(parent, content)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\appender.py", line 229, in append&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Appender.append(self, child, cont)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\appender.py", line 168, in append&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.marshaller.append(parent, content)&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\core.py", line 71, in append&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if self.start(content):&lt;BR /&gt;&amp;nbsp; File "C:\Program Files\Python36\lib\site-packages\suds\mx\literal.py", line 86, in start&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise TypeNotFound(content.tag)&lt;BR /&gt;suds.TypeNotFound: Type not found: 'location'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in Advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Aug 2018 03:45:37 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680526#M2898</guid>
      <dc:creator>ROBERT WYKOFF</dc:creator>
      <dc:date>2018-08-03T03:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680718#M2901</link>
      <description>Is this camel case right? &lt;BR /&gt;&lt;BR /&gt;addsipTrunk</description>
      <pubDate>Fri, 03 Aug 2018 11:07:51 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680718#M2901</guid>
      <dc:creator>Mark Stover</dc:creator>
      <dc:date>2018-08-03T11:07:51Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680787#M2902</link>
      <description>&lt;P&gt;Sorry, yes it is addSipTrunk but I forgot to add that.&amp;nbsp; My main issue seems to be that the IPv4 address is in a separate group called destination but I do not know how to add that in Python as I am just a beginner at Python and API.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Aug 2018 13:04:11 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3680787#M2902</guid>
      <dc:creator>ROBERT WYKOFF</dc:creator>
      <dc:date>2018-08-03T13:04:11Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3687654#M2914</link>
      <description>&lt;P&gt;The portion of the WSDL for the destination shows nested format&lt;/P&gt;
&lt;P&gt;allowing for multiple destinations:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destinations&amp;nbsp;&amp;nbsp; [ANON-destinations]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination&amp;nbsp;&amp;nbsp; [XSipTrunkDestination]&amp;nbsp;&amp;nbsp; Max: 16&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addressIpv4&amp;nbsp;&amp;nbsp; [String255]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addressIpv6&amp;nbsp;&amp;nbsp; [String255]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port&amp;nbsp;&amp;nbsp; [XInteger]&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sortOrder&amp;nbsp;&amp;nbsp; [XInteger] REQUIRED&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I think you want to replace the IPv4 argument with something like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;'destinations': [ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'destination': &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 'addressIpv4': '1.1.1.1',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'port': 433,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'sortOrder': 1} &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;( I haven't tested it myself)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Aug 2018 02:53:09 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3687654#M2914</guid>
      <dc:creator>dcburleigh</dc:creator>
      <dc:date>2018-08-14T02:53:09Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3857864#M3055</link>
      <description>&lt;P&gt;Did anyone ever get this question solved?&amp;nbsp; I am also trying to add a sip trunk using the code below and cannot get it to add.&amp;nbsp; I get a different error, but any help would be very much appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def add_trunk(service,gw,dp,loc,mrgl,vip):&lt;BR /&gt;try:&lt;BR /&gt;data = {'sipTrunk':{&lt;BR /&gt;'name': gw,&lt;BR /&gt;'description': gw,&lt;BR /&gt;'model': 'SIP Trunk',&lt;BR /&gt;'class': 'Trunk',&lt;BR /&gt;'callingSearchSpaceName': 'INTERNAL_CSS',&lt;BR /&gt;'devicePoolName': dp,&lt;BR /&gt;'locationName': loc,&lt;BR /&gt;'mediaResourceListName': mrgl,&lt;BR /&gt;'securityProfileName': 'Non Secure SIP Voice Gateway Trunk Profile',&lt;BR /&gt;'sipProfileName': 'Standard SIP Voice Gateway Profile',&lt;BR /&gt;'callingPartySelection': 'First Redirect Number',&lt;BR /&gt;'sipTrunkType': 'None(Default)',&lt;BR /&gt;'pstnAccess': 1,&lt;BR /&gt;'destinations': {'destination': []}&lt;BR /&gt;}}&lt;BR /&gt;[data['sipTrunk']['destinations']['destination'].append({'addressIpv4':ip,'port': '5060', 'sortOrder': 1})]&lt;BR /&gt;resp = service.addSipTrunk( data )&lt;BR /&gt;print(resp)&lt;BR /&gt;except Fault as err:&lt;BR /&gt;resp=''&lt;BR /&gt;show_history()&lt;BR /&gt;return resp&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;vip = '1.1.1.1'&lt;BR /&gt;dp = 'Test_DP'&lt;BR /&gt;srst = siteID + "-" + city + '_SRST'&lt;BR /&gt;loc = 'Hub_None'&lt;BR /&gt;mrgl = 'Test_MRGL'&lt;BR /&gt;gw = 'TestTrunk'&lt;/P&gt;&lt;P&gt;resp=add_trunk(service,gw,dp,loc,mrgl,vip)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\elements\element.py", line 248, in validate&lt;BR /&gt;"Missing element %s" % (self.name), path=render_path)&lt;BR /&gt;zeep.exceptions.ValidationError: Missing element name (addSipTrunk.sipTrunk)&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2019 20:23:48 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3857864#M3055</guid>
      <dc:creator>bryan.mccullough</dc:creator>
      <dc:date>2019-05-16T20:23:48Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3858449#M3056</link>
      <description>&lt;P&gt;This was a tricky one, as there are some unexpected required fields...here is my complete working sample for 11.5:&lt;/P&gt;
&lt;PRE&gt;from zeep import Client  
from zeep.cache import SqliteCache  
from zeep.transports import Transport  
from zeep.plugins import HistoryPlugin  
from requests import Session  
from requests.auth import HTTPBasicAuth  
from lxml import etree  
import urllib3  
  
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
  
username = 'Administrator'  
password = 'ciscopsdt'  
wsdl = 'file:///home/dstaudt/Downloads/Zeep Sample/AXLAPI.wsdl'  
  
session = Session()  
session.verify = False  
session.auth = HTTPBasicAuth(username, password)  
transport = Transport(cache=SqliteCache(), session=session, timeout=20)  
history = HistoryPlugin()  
client = Client(wsdl=wsdl, transport=transport, plugins=[history])  
service = client.create_service("{http://www.cisco.com/AXLAPIService/}AXLAPIBinding", "https://ds-ucm115-1.cisco.com/axl/")

#factory = client.type_factory('ns0')  

# data = factory.XSipTrunk(
#     name = 'testSipTrunk',
#     product = 'SIP Trunk',
#     # _class = 'Trunk',
#     protocol = 'SIP',
#     protocolSide = 'Network',
#     devicePoolName = 'Default',
#     locationName = 'Hub_None',
#     securityProfileName = 'Non Secure SIP Trunk Profile',
#     sipProfileName = 'Standard SIP Profile',
#     callingPartySelection = 'First Redirect Number',
#     pstnAccess = 1,
#     presenceGroupName = 'Standard Presence group',
#     destinations = []
# )

# # Cant specify class in the factory constructor above due to collision with Python 'class' reserved word
# data['class'] = 'Trunk' 

data = {
    'name': 'testSipTrunk',
    'description': 'testDescription',
    'product': 'SIP Trunk',
    'class': 'Trunk',
    'protocol': 'SIP',
    'protocolSide': 'Network',
    'devicePoolName': 'Default',
    'locationName': 'Hub_None',
    'securityProfileName': 'Non Secure SIP Trunk Profile',
    'sipProfileName': 'Standard SIP Profile',
    'presenceGroupName': 'Standard Presence group',
    'callingAndCalledPartyInfoFormat': 'Deliver DN only in connected party',
    'destinations': [],
}

data['destinations'].append( {'destination': 
    {'addressIpv4': '1.1.1.1', 'port': '5060', 'sortOrder': 1}})

result = service.addSipTrunk( data )  
  
#troubleshooting soap envelope  
for hist in [history.last_sent, history.last_received]:  
    print(etree.tostring(hist["envelope"], encoding="unicode", pretty_print=True))&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 May 2019 16:27:01 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3858449#M3056</guid>
      <dc:creator>dstaudt</dc:creator>
      <dc:date>2019-05-17T16:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3859537#M3060</link>
      <description>&lt;P&gt;Thank you sooo much!!!&amp;nbsp; That worked like a charm.&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 16:57:50 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3859537#M3060</guid>
      <dc:creator>bryan.mccullough</dc:creator>
      <dc:date>2019-05-20T16:57:50Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3859561#M3061</link>
      <description>&lt;P&gt;I wonder if you could help me with another issue. I am trying to update a device pool with a few values. I don't get an error and everything updates except it doesn't update the "local router group". It just remains as "Standard Local Route Group" &amp;lt;None&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;def update_devpool(service,dp,rg):&lt;BR /&gt;try:&lt;BR /&gt;#print(rg)&lt;BR /&gt;data = {&lt;BR /&gt;'name': dp,&lt;BR /&gt;'locationName': 'HUB_None',&lt;BR /&gt;'localRouteGroupName': {'name': rg}&lt;BR /&gt;#'localRouteGroupName': rg,&lt;BR /&gt;#'localRouteGroup': rg&lt;BR /&gt;}&lt;BR /&gt;resp = service.updateDevicePool(**data)&lt;BR /&gt;print(dp + ' updated')&lt;BR /&gt;except Fault as err:&lt;BR /&gt;resp = ''&lt;BR /&gt;print(err)&lt;BR /&gt;return resp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;username = 'user'&lt;BR /&gt;password = 'pass'&lt;BR /&gt;host = '&amp;lt;cucm axl server&amp;gt;'&lt;BR /&gt;wsdl = 'file://C:/Documents/Playbooks/axlsqltoolkit/schema/current/AXLAPI.wsdl'&lt;BR /&gt;location = 'https://{host}:8443/axl/'.format(host=host)&lt;BR /&gt;binding = "{&lt;A href="http://www.cisco.com/AXLAPIService/}AXLAPIBinding" target="_blank"&gt;http://www.cisco.com/AXLAPIService/}AXLAPIBinding&lt;/A&gt;"&lt;BR /&gt;session = Session()&lt;BR /&gt;session.verify = False&lt;BR /&gt;session.auth = HTTPBasicAuth(username, password)&lt;BR /&gt;transport = Transport(cache=SqliteCache(), session=session, timeout=20)&lt;BR /&gt;history = HistoryPlugin()&lt;BR /&gt;client = Client(wsdl=wsdl, transport=transport, plugins=[history])&lt;BR /&gt;service = client.create_service(binding, location)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;rg='000-Test' #and this rg does show up as a valid local route group in the drop down in CUCM&lt;BR /&gt;update_devpool(service,dp,rg)&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 17:44:53 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3859561#M3061</guid>
      <dc:creator>bryan.mccullough</dc:creator>
      <dc:date>2019-05-20T17:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3860082#M3062</link>
      <description>&lt;P&gt;Sorry, I forgot to list the error I am getting.&amp;nbsp; Here it is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Traceback (most recent call last):&lt;BR /&gt;File "AddCUCMSite_v3.py", line 445, in &amp;lt;module&amp;gt;&lt;BR /&gt;update_devpool(service,dp,uuid,mrgl,srst,rg)&lt;BR /&gt;File "AddCUCMSite_v3.py", line 136, in update_devpool&lt;BR /&gt;resp = service.updateDevicePool(**data)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\proxy.py", line 42, in __call__&lt;BR /&gt;self._op_name, args, kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\wsdl\bindings\soap.py", line 121, in send&lt;BR /&gt;options=options)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\wsdl\bindings\soap.py", line 68, in _create&lt;BR /&gt;serialized = operation_obj.create(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\wsdl\definitions.py", line 200, in create&lt;BR /&gt;return self.input.serialize(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\wsdl\messages\soap.py", line 72, in serialize&lt;BR /&gt;body_value = self.body(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\elements\element.py", line 48, in __call__&lt;BR /&gt;instance = self.type(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\types\complex.py", line 42, in __call__&lt;BR /&gt;return self._value_class(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\valueobjects.py", line 90, in __init__&lt;BR /&gt;items = _process_signature(self._xsd_type, args, kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\valueobjects.py", line 204, in _process_signature&lt;BR /&gt;values = element.parse_kwargs(kwargs, None, available_kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\elements\indicators.py", line 204, in parse_kwargs&lt;BR /&gt;sub_result = element.parse_kwargs(kwargs, elm_name, available_kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\elements\element.py", line 118, in parse_kwargs&lt;BR /&gt;kwargs, name or self.attr_name, available_kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\types\complex.py", line 282, in parse_kwargs&lt;BR /&gt;value = self._create_object(value, name)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\types\complex.py", line 303, in _create_object&lt;BR /&gt;return self(**value)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\types\complex.py", line 42, in __call__&lt;BR /&gt;return self._value_class(*args, **kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\valueobjects.py", line 90, in __init__&lt;BR /&gt;items = _process_signature(self._xsd_type, args, kwargs)&lt;BR /&gt;File "C:\Python37\lib\site-packages\zeep\xsd\valueobjects.py", line 231, in _process_signature&lt;BR /&gt;xsd_type.signature(standalone=False)))&lt;BR /&gt;TypeError: {&lt;A href="http://www.cisco.com/AXL/API/11.5}XFkType" target="_blank"&gt;http://www.cisco.com/AXL/API/11.5}XFkType&lt;/A&gt;() got an unexpected keyword argument 'name'. Signature: `xsd:string, uuid: {&lt;A href="http://www.cisco.com/AXL/API/11.5}XUUID" target="_blank"&gt;http://www.cisco.com/AXL/API/11.5}XUUID&lt;/A&gt;`&lt;/P&gt;</description>
      <pubDate>Tue, 21 May 2019 12:41:55 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3860082#M3062</guid>
      <dc:creator>bryan.mccullough</dc:creator>
      <dc:date>2019-05-21T12:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3869732#M3068</link>
      <description>&lt;P&gt;I got this working with Zeep, and added the code to this new AXL sample collection project...hope it helps!&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/CiscoDevNet/axl-python-zeep-sample" target="_blank"&gt;https://github.com/CiscoDevNet/axl-python-zeep-sample&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2019 21:41:15 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3869732#M3068</guid>
      <dc:creator>dstaudt</dc:creator>
      <dc:date>2019-06-07T21:41:15Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3873326#M3073</link>
      <description>&lt;P&gt;Thank you so much for providing the script example.&amp;nbsp; It worked perfect!&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2019 18:39:42 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/3873326#M3073</guid>
      <dc:creator>bryan.mccullough</dc:creator>
      <dc:date>2019-06-14T18:39:42Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035184#M3317</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN class=""&gt;&lt;A href="https://community.cisco.com/t5/user/viewprofilepage/user-id/168718" target="_self"&gt;dstaudt&lt;/A&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I've gone through your script and I wanted to ask you one thing, Is it possible to update MRGL field using update device pool script ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Also have you managed to get add route pattern script working using zeep or ciscoaxl.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I tried all possible options with ciscoaxl library but no success so far &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Please help if you managed to add route pattern using python script.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Vikas&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2020 06:47:31 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035184#M3317</guid>
      <dc:creator>vikaswankhede@eaton.com</dc:creator>
      <dc:date>2020-02-25T06:47:31Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035518#M3319</link>
      <description>&lt;P&gt;addressIpv4 should be within two levels of parent tags.&amp;nbsp; Here's the XML representation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;destinations&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--0 to 16 repetitions:--&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;destination&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--Optional:--&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;addressIpv4&amp;gt;?&amp;lt;/addressIpv4&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/destination&amp;gt;&lt;BR /&gt;&amp;lt;/destinations&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Suds is also a fairly outdated way to handle SOAP/AXL.&amp;nbsp; I find it difficult to use.&amp;nbsp; Take a look at Zeep - it's much easier.&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2020 16:05:40 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035518#M3319</guid>
      <dc:creator>npetrele</dc:creator>
      <dc:date>2020-02-25T16:05:40Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035631#M3323</link>
      <description>&lt;P&gt;Added samples to cover add/update Device Pool MRGL and add Route Pattern: &lt;A href="https://github.com/CiscoDevNet/axl-python-zeep-samples" target="_blank"&gt;https://github.com/CiscoDevNet/axl-python-zeep-samples&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2020 18:51:05 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035631#M3323</guid>
      <dc:creator>dstaudt</dc:creator>
      <dc:date>2020-02-25T18:51:05Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035836#M3326</link>
      <description>&lt;P&gt;I tried using zeep and ciscoaxl but I was not able to achieve updating MRGL field in device pool (Other parameters like region, location, etc. works fine)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anybody know how to configure&amp;nbsp;&lt;SPAN&gt;Region Relationships using python ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Also how to add location and physical location using Python ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vikas&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2020 03:42:25 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035836#M3326</guid>
      <dc:creator>vikaswankhede@eaton.com</dc:creator>
      <dc:date>2020-02-26T03:42:25Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035880#M3327</link>
      <description>&lt;P&gt;Hi dstaudt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Your script worked perfect.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank You very much.&lt;/P&gt;&lt;P&gt;+5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vikas&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2020 05:09:31 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4035880#M3327</guid>
      <dc:creator>vikaswankhede@eaton.com</dc:creator>
      <dc:date>2020-02-26T05:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4037157#M3331</link>
      <description>&lt;P&gt;Added examples for &amp;lt;addRegion&amp;gt; and &amp;lt;addLocation&amp;gt; to the repo here: &lt;A href="https://github.com/CiscoDevNet/axl-python-zeep-samples" target="_blank"&gt;https://github.com/CiscoDevNet/axl-python-zeep-samples&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Physical Location has only a single 'name' attribute, so it should be trivial to implement based on any of those samples.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Feb 2020 21:36:14 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4037157#M3331</guid>
      <dc:creator>dstaudt</dc:creator>
      <dc:date>2020-02-27T21:36:14Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4072212#M3381</link>
      <description>&lt;P&gt;Is it possible to add phone template using zeep ?&lt;/P&gt;&lt;P&gt;I managed to add other stuff and now trying to do bulk phone addition using python but I'm not sure if this is doable ?&lt;/P&gt;&lt;P&gt;Please suggest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vikas&lt;/P&gt;</description>
      <pubDate>Thu, 23 Apr 2020 09:11:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4072212#M3381</guid>
      <dc:creator>vikaswankhede@eaton.com</dc:creator>
      <dc:date>2020-04-23T09:11:16Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4086971#M3395</link>
      <description>&lt;P&gt;I'm trying to get the details of a SIP trunk in CUCM 12.5 using the ciscoaxl module and zeep, and then create a spreadsheet from the output. I have it all working with the exception of pulling the destination IP address, as I am unable to capture that field in the output. I also noted that I had to use the tagfilter option to return the other relevant fields since they are mostly muted by default to save on memory usage. Here is a code sample:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;with &lt;/SPAN&gt;&lt;SPAN&gt;open&lt;/SPAN&gt;(str_FileSavePathTrunkCSV&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'w'&lt;/SPAN&gt;) &lt;SPAN&gt;as &lt;/SPAN&gt;csvfile:&lt;BR /&gt;    w = csv.writer(csvfile)&lt;BR /&gt;    w.writerow([&lt;SPAN&gt;'SIP Trunk Name'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'Inbound CSS'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'SIP Profile'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'SIP Trunk Security Profile'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'Destination IP address'&lt;/SPAN&gt;])&lt;BR /&gt;    &lt;SPAN&gt;for &lt;/SPAN&gt;trunk &lt;SPAN&gt;in &lt;/SPAN&gt;ucm.get_sip_trunks(&lt;SPAN&gt;tagfilter&lt;/SPAN&gt;={&lt;SPAN&gt;"name"&lt;/SPAN&gt;:&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"callingSearchSpaceName"&lt;/SPAN&gt;:&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"sipProfileName"&lt;/SPAN&gt;:&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"securityProfileName"&lt;/SPAN&gt;:&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"destination"&lt;/SPAN&gt;:&lt;SPAN&gt;""&lt;/SPAN&gt;}):&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        lst_linecsv = ({&lt;SPAN&gt;1&lt;/SPAN&gt;:trunk.name&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;:trunk.callingSearchSpaceName._value_1&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;:trunk.sipProfileName._value_1&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;:trunk.securityProfileName._value_1&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;:trunk.destination})&lt;BR /&gt;        w = csv.writer(csvfile)&lt;BR /&gt;        &lt;SPAN&gt;#w = csv.writer(sys.stderr)&lt;BR /&gt;&lt;/SPAN&gt;        w.writerow(lst_linecsv.values())&lt;/PRE&gt;&lt;P&gt;Does anyone know how to extract the IP address (destination) from the SIP trunk data using the format I have listed above? When I looked at LSipTrunk() I didn't see destination as a returnable attribute, so I may be outta luck..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Solution Found:&lt;/P&gt;&lt;P&gt;In case anyone is following this thread and my previous question I ran the LSipTrunk() function to extract the name value, and I stored the name into a variable. then as part of a For loop I inputted the name variable into the get specific trunk function, allowing me to pull the Destination IP and several other specific data points that weren't available in the list output.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 May 2020 12:18:46 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4086971#M3395</guid>
      <dc:creator>ghinson</dc:creator>
      <dc:date>2020-05-20T12:18:46Z</dc:date>
    </item>
    <item>
      <title>Re: programming python for Call Manager to Add Trunk</title>
      <link>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4141660#M3478</link>
      <description>&lt;P&gt;Hi dstaudt,&lt;/P&gt;&lt;P&gt;Two questions please.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Anything changed in update device pool part of code ? I want to update my MRGL using update device pool code and somehow it is not working with below error.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="ansi-green-fg"&gt;    173&lt;/SPAN&gt;             name &lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;=&lt;/SPAN&gt; &lt;SPAN class="ansi-blue-intense-fg ansi-bold"&gt;'DP-'&lt;/SPAN&gt;&lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;+&lt;/SPAN&gt;name&lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;+&lt;/SPAN&gt;&lt;SPAN class="ansi-blue-intense-fg ansi-bold"&gt;'-IPT'&lt;/SPAN&gt;&lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;,&lt;/SPAN&gt;
&lt;SPAN class="ansi-green-intense-fg ansi-bold"&gt;--&amp;gt; 174&lt;/SPAN&gt;             mediaResourceListName &lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;=&lt;/SPAN&gt; &lt;SPAN class="ansi-blue-intense-fg ansi-bold"&gt;'MRGL-'&lt;/SPAN&gt;&lt;SPAN class="ansi-yellow-intense-fg ansi-bold"&gt;+&lt;/SPAN&gt;name&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class="ansi-red-intense-fg ansi-bold"&gt;NameError&lt;/SPAN&gt;: name 'Fault' is not defined&lt;/PRE&gt;&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. Do we've any option to perform bulk jobs using this or any other lib ?&lt;/P&gt;&lt;P&gt;I want to insert phones, update users, etc jobs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Vikas&lt;/P&gt;</description>
      <pubDate>Wed, 26 Aug 2020 13:13:24 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/programming-python-for-call-manager-to-add-trunk/m-p/4141660#M3478</guid>
      <dc:creator>vikaswankhede@eaton.com</dc:creator>
      <dc:date>2020-08-26T13:13:24Z</dc:date>
    </item>
  </channel>
</rss>

