<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.gmail-m-8938774828696517748msolistparagraph, li.gmail-m-8938774828696517748msolistparagraph, div.gmail-m-8938774828696517748msolistparagraph
        {mso-style-name:gmail-m_-8938774828696517748msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I wrote in Ruby, it is a CLI script that just takes a parameter for an input CSV.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">One of my missions here over the next while is to “learn” Python and migrate tooling there. Ruby was pretty easy and I’ve built some library code for dealing
 with users, lines, and phones. Python can’t be too much different than Perl, PHP, VB, any of that, it’s not as bad as TCL so I’m sure I can figure it out.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">We have a number of scripts here for various things that our team can run from a jumpbox, but, as my stack gets better I would like to build these things into
 a web front end. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I have a small XMPP interface for some of these functions as well which is pretty useful to get information gathered at a glance.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Anthony Holloway <avholloway+cisco-voip@gmail.com>
<br>
<b>Sent:</b> Monday, September 16, 2019 3:58 PM<br>
<b>To:</b> Pawlowski, Adam <ajp26@buffalo.edu><br>
<b>Cc:</b> cisco-voip@puck.nether.net<br>
<b>Subject:</b> Re: [cisco-voip] Bulk Admin and Jabber<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">What programming language did you write it in, and is the interface GUI or CLI based?<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, Sep 16, 2019 at 1:04 PM Pawlowski, Adam <<a href="mailto:ajp26@buffalo.edu">ajp26@buffalo.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Catching up on this one since this list stopped sending me daily digests but more like whenever it feels like it digests<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We use the Quick User/Phone Add here and I put that into the procedures for the technicians since it can enforce some level of consistency. It’s not perfect by any means but for
 Jabber at least there is usually not too much farting around that needs to be done after the client is setup.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Two sore points for me on it are:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="gmail-m-8938774828696517748msolistparagraph">1)<span style="font-size:7.0pt">     
</span>It does not fill in the ASCII Display Name field when it adds line appearances. I have no idea why, but CTI applications like CER still use this so I have to go open each one and click on it to avoid dispatch getting calls from “_”.<o:p></o:p></p>
<p class="gmail-m-8938774828696517748msolistparagraph">2)<span style="font-size:7.0pt">     
</span>Product specific fields are still not available here. On desk sets that’s the wireless hookswitch control. On Jabber, that’s the Cisco Support Field. Unless something has changed recently, the BOT/TAB/TCT devices’ flavor of Cisco Support Field is NOT
 the same one as in the common phone profile. <o:p></o:p></p>
<p class="gmail-m-8938774828696517748msolistparagraph">I haven’t experimented to see if this works now, but it did not when we set all this up for Jabber. Our base jabber-config turns off everything but IM so anyone can just pop  open the client, then we change
 profile on the client to turn on the features or for hunt/pickup etc. I still have to touch this by hand for BOT, TAB, and TCT.<o:p></o:p></p>
<p class="gmail-m-8938774828696517748msolistparagraph"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">It is “quick” and it works for 98% of new additions, it’s useless for moving resources between people as it re-provisions everything, and when you’re building procedures for people
 so they can avoid hand made changes, it doesn’t quite get us there.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">That being said I wrote a script to use AXL to bulk insert clients. I read a CSV with a userID, the client type, and the profile. I verify the user ID is in the system, insert the
 device, and then stack it on the association list. It really wasn’t that hard and comes a … well a bulk import tool I can hand off to the team. You can write product-specific configurations back with AXL, you just want to look at an example of how it is mashed
 together, and make sure you don’t break it. IIRC it’s a block of XML that comes out of the database, and I think this is one of those fields that when you set it back through AXL it gets written back exactly as you send it, so it is easy to clear settings.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Best of luck<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Adam Pawlowski<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">SUNYAB<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<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><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>