Gotcha.


---
Lelio Fulgenzi, B.A. | Senior Analyst
Computing and Communications Services | University of Guelph
Room 037 Animal Science & Nutrition Bldg | 50 Stone Rd E | Guelph, ON | N1G 2W1
519-824-4120 Ext. 56354 | le...@uoguelph.ca<mailto:le...@uoguelph.ca>

www.uoguelph.ca/ccs<http://www.uoguelph.ca/ccs> | @UofGCCS on Instagram, 
Twitter and Facebook

[University of Guelph Cornerstone with Improve Life tagline]

From: Hunter Fuller <hf0...@uah.edu>
Sent: Tuesday, November 27, 2018 11:28 AM
To: Lelio Fulgenzi <le...@uoguelph.ca>
Cc: voyp list, cisco-voip (cisco-voip@puck.nether.net) 
<cisco-voip@puck.nether.net>
Subject: Re: [cisco-voip] Best Practice or Way to bulk update Caller ID

Actually, following my example, they are available as line.display and 
line.displayAscii. But every time I try to update it through AXL using the same 
mechanism I use to update other stuff, it simply doesn't seem to do anything at 
all.
So in other words, I'm not claiming it's impossible to update it that way, but 
I certainly can't do it. :D

--
Hunter Fuller
Network Engineer
VBH Annex B-5
+1 256 824 5331

Office of Information Technology
The University of Alabama in Huntsville
Systems and Infrastructure


On Tue, Nov 27, 2018 at 10:24 AM Lelio Fulgenzi 
<le...@uoguelph.ca<mailto:le...@uoguelph.ca>> wrote:
Are you saying that (ascii) display name and (ascii) alerting name are not AXL 
dippable/updateable information? Yikes.


---
Lelio Fulgenzi, B.A. | Senior Analyst
Computing and Communications Services | University of Guelph
Room 037 Animal Science & Nutrition Bldg | 50 Stone Rd E | Guelph, ON | N1G 2W1
519-824-4120 Ext. 56354 | le...@uoguelph.ca<mailto:le...@uoguelph.ca>

www.uoguelph.ca/ccs<http://www.uoguelph.ca/ccs> | @UofGCCS on Instagram, 
Twitter and Facebook

[University of Guelph Cornerstone with Improve Life tagline]

From: Hunter Fuller <hf0...@uah.edu<mailto:hf0...@uah.edu>>
Sent: Tuesday, November 27, 2018 11:14 AM
To: Lelio Fulgenzi <le...@uoguelph.ca<mailto:le...@uoguelph.ca>>
Cc: voyp list, cisco-voip 
(cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>) 
<cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>>
Subject: Re: [cisco-voip] Best Practice or Way to bulk update Caller ID

I am not doing this, but it could be done pretty easily using Python.
I wrote a little shim library for hitting the AXL API from Python. If we assume 
that the caller ID of the line should be pulled from the first associated end 
user, we can pull the userid, get the name, and set it to the line.
Two gotchas in my example:
1. I am not doing this, personally, so I don't have the code necessary to pull 
the name. But there are lots of Python examples for that.
2. I haven't found a way to update the Caller ID aside from running SQL. Yuck! 
But we are doing it in production, if that makes you feel better...
If you want to try it, the library is here: https://github.com/uah/axlrows 
You're welcome to email me off-list if you have questions about it.

from axlrows import CiscoUCM
ucm = CiscoUCM()
all_lines = ucm.get_lines(routePartitionName='Sys-Ext-PT')
for line in all_lines:
    userid = line.associatedEndusers[0][0].userId

    #Now we have the userid, and we can look up the name somehow.
    name = mystery_name_lookup(userid)

    #Now we can set it back to the caller ID
    line_pkid = line._uuid.lower().replace('{', '').replace('}', '')
    ucm.execute_sql_update(sql="update devicenumplanmap set display = '" + 
name.replace("'", "''") + "' where pkid = '"+ line_pkid + "'")


--
Hunter Fuller
Network Engineer
VBH Annex B-5
+1 256 824 5331

Office of Information Technology
The University of Alabama in Huntsville
Systems and Infrastructure


On Tue, Nov 27, 2018 at 10:00 AM Lelio Fulgenzi 
<le...@uoguelph.ca<mailto:le...@uoguelph.ca>> wrote:

I think this is a good spot for 3rd party/partner development. Basically, hit 
the CUCM database and download DN information. Hit the authoritative directory 
source and download information. Then build an offline database for comparison. 
Based on rules and/or manual input, use CUCM api’s to update out of sync 
display names. *pow*

Darn I should have listened in my programming courses….

---
Lelio Fulgenzi, B.A. | Senior Analyst
Computing and Communications Services | University of Guelph
Room 037 Animal Science & Nutrition Bldg | 50 Stone Rd E | Guelph, ON | N1G 2W1
519-824-4120 Ext. 56354 | le...@uoguelph.ca<mailto:le...@uoguelph.ca>

www.uoguelph.ca/ccs<http://www.uoguelph.ca/ccs> | @UofGCCS on Instagram, 
Twitter and Facebook


From: Anthony Holloway 
<avholloway+cisco-v...@gmail.com<mailto:avholloway%2bcisco-v...@gmail.com>>
Sent: Tuesday, November 27, 2018 10:42 AM
To: Brian Meade <bmead...@vt.edu<mailto:bmead...@vt.edu>>
Cc: Lelio Fulgenzi <le...@uoguelph.ca<mailto:le...@uoguelph.ca>>; Cisco VoIP 
Group <cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>>
Subject: Re: [cisco-voip] Best Practice or Way to bulk update Caller ID

First, the tags are too limiting; I wish there were more, and more powerful 
modifiers.

Second, I don't think that works for post device creation, correct?  I.e., CUC 
User Templates are not retroactive

On Tue, Nov 27, 2018 at 9:09 AM Brian Meade 
<bmead...@vt.edu<mailto:bmead...@vt.edu>> wrote:
The Line Templates used for Quick User/Phone Add and Self-Provisioning allow 
you to use tags in various fields:
#FirstName#
#LastName#
#UserID#
#Email#
#Department#
#Manager#
#PrimaryExtension#
#Extension#
#LineIndex#
#DeviceName#
#Product#
#Protocol#

I've been trying to use this feature more and more lately.  I do wish there was 
some API calls around this feature though.

On Mon, Nov 26, 2018 at 11:39 PM Lelio Fulgenzi 
<le...@uoguelph.ca<mailto:le...@uoguelph.ca>> wrote:
After all this, it certainly would be nice to be able to do this automatically. 
Either tied to or not tied to a userid or telephone number or directory entry. 
Or any combination thereof.

Connection does it, even if not completely well (display name doesn’t get 
updated upon directory update), why not CallManager?


-sent from mobile device-

Lelio Fulgenzi, B.A. | Senior Analyst
Computing and Communications Services | University of Guelph
Room 037 Animal Science & Nutrition Bldg | 50 Stone Rd E | Guelph, ON | N1G 2W1
519-824-4120 Ext. 56354<tel:519-824-4120;56354> | 
le...@uoguelph.ca<mailto:le...@uoguelph.ca>

www.uoguelph.ca/ccs<http://www.uoguelph.ca/ccs> | @UofGCCS on Instagram, 
Twitter and Facebook


On Nov 26, 2018, at 6:50 PM, Anthony Holloway 
<avholloway+cisco-v...@gmail.com<mailto:avholloway+cisco-v...@gmail.com>> wrote:
Don't forget the Alerting Name field.  This is also Caller ID, but like in 
reverse.

Never having had to perform this action before, I would be curious as to how 
many records are "out of sync".

Try running the following, or a similar SQL query to see who isn't lining up 
correctly:

run sql select \
limit 25 \
u.telephonenumber, u.firstname, u.lastname, dn.dnorpattern, dn.alertingname, 
dn.alertingnameascii, la.display, la.displayascii, la.label \
from devicenumplanmap as la \
left join numplan as dn on la.fknumplan = dn.pkid \
left join enduser as u on right(dn.dnorpattern, 12) = u.telephonenumber \
where \
(u.telephonenumber is not null and u.firstname is not null and u.lastname is 
not null) and \
(concat(concat(u.firstname, ' '), lastname) <> dn.alertingname or 
concat(concat(u.firstname, ' '), lastname) <> la.display) \
order by u.lastname, u.firstname

Legend
Limit - Feel free to increase/decrease/remove the limit command
Offending Records - Feel free to add/remove/modify the offending record finder. 
 I.e., This filter only matches the AD first + last against alerting and 
display, and also it assumes your DNs are \+1[2-9]XX[2-9]XXXXXX formatted, and 
your AD telephoneNumbers are +1[2-9]XX[2-9]XXXXXX formatted, so it removes the 
\ on the DN for lining up records with the right function, 12 characters in.

*The funky looking concat commands are because of two reasons: 1) the CLI 
parser wont let me use pipes to concat, and 2) the concat function only can 
concat two fields at once, so we have to run it twice to insert the space 
between names.  Else, you might be able to pull the displayname field instead.  
In my case this is Lastname, Firstname, so concatenating the first and last on 
my own was better.

The output will look something like this:

telephonenumber firstname lastname         dnorpattern   alertingname           
    alertingnameascii          display                    displayascii          
     label
=============== ========= ================ ============= 
========================== ========================== 
========================== ========================== 
===========================
+16125551212    Anthony   Holloway         \+16125551212 Tony Holloway          
    Tony Holloway              Tony Holloway              Tony Holloway         
     Tony Holloway - 1212

Legend
AD Fields (Once per account)
DN Fields (Once per DN)
Line Appearance Fields (Can exist multiple times for every appearance this DN 
exists on)

From there, I would bring the data into MS Excel, filter, sort, fix, etc., and 
then I would use the AXL SQL Toolkit to submit each update individually.  Once 
for the DN and once for the line, per correction.  This will automatically 
reset phones, just like a BAT operation would.

E.g.,

Update the DN fields
update numplan set alertingname = 'Anthony Holloway', alertingnameascii = 
'Anthony Holloway' where dnorpattern = '\+16125551212'

Update the LA fields
update devicenumplanmap set display = 'Anthony Holloway', displayascii = 
'Anthony Holloway' where fknumplan = (select pkid from numplan where 
dnorpattern = '\+16125551212')

With any approach you take, there are going to be one-off cases you'll likely 
need to manually handle, and not too mention, your environment may have 
sticking points which completely prevent you from being able to use bulk tools. 
 E.g., Your fields are all jacked up, your DNs don't line up with your AD 
telephoneNumbers, etc.

If you think you'll have to perform this activity more than once, then I would 
suggest writing a program to perform the sync operation on a schedule.  I think 
Adam was just talking about doing this exact task, with Pete's PowerShell 
thingy.

https://cisco-voip.markmail.org/thread/uajz3af37ptg5cyy

Good luck!

On Mon, Nov 26, 2018 at 4:33 PM Ryan Huff 
<ryanh...@outlook.com<mailto:ryanh...@outlook.com>> wrote:

Hi Sam,



I'm assuming (since you said Caller ID), that you are referring to "Display 
(Caller ID)" and the older, "ASCII Display (Caller ID)" fields. You can bulk 
update these fields by first, exporting the phones through, "Bulk 
Administration > Phones > Export Phones > All Details". After selecting that 
menu navigation, you'll have the familiar GUI based query tool that will allow 
you to specify search limit and qualifier clauses, for the number of phones you 
wish to export.



Once you have the resulting export file downloaded, I would typically use MS 
Excel (or some other type of comma deliminated parser) to open the file. Once 
opened, find the Display (Caller ID) field and adjust as desired for each 
phone. If you wish to concatenate the the FN and LN of the user into this 
field, you'll need to use some "script magic" (Python, PHP, Perl, Bash ... etc) 
or good old fashioned copy/paste elbow grease to compile this info from 
elsewhere in the spreadsheet; assuming such data exists for the line on another 
column within the same row; phone description, line description ... etc.



All this to bring me to a closing thought, which is to verify your 
understanding that this would only affect internal (onnet) Caller ID and not 
what is presented to a called party over the PSTN. Caller ID (ANI) presented on 
the PSTN is the job of a), your carrier to enter the correct data into the ANI 
ALI database and B), the called party's carrier to perform the appropriate CNAM 
dip into the ANI ALI database and ultimately present the characters to the 
called party's device in the appropriate facility / contact header.


Thanks,

Ryan Huff, CCDP, CCNP
Cisco Certified Network and Design Professional

________________________________
From: cisco-voip 
<cisco-voip-boun...@puck.nether.net<mailto:cisco-voip-boun...@puck.nether.net>> 
on behalf of Sam Jones <jones...@isu.edu<mailto:jones...@isu.edu>>
Sent: Monday, November 26, 2018 5:08 PM
To: cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>
Subject: [cisco-voip] Best Practice or Way to bulk update Caller ID


I am looking for the fastest way to update the Caller ID across all our 
directory numbers with the first and last name of users synchronized from 
Active Directory.
I cannot find a how to do this:
automagically with a synchronization from Active Directory
Or
through Bulk Administration

Any guidance to how I can accomplish this is appreciated.


Sam Jones
_______________________________________________
cisco-voip mailing list
cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>
https://puck.nether.net/mailman/listinfo/cisco-voip
_______________________________________________
cisco-voip mailing list
cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>
https://puck.nether.net/mailman/listinfo/cisco-voip
_______________________________________________
cisco-voip mailing list
cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>
https://puck.nether.net/mailman/listinfo/cisco-voip
_______________________________________________
cisco-voip mailing list
cisco-voip@puck.nether.net<mailto:cisco-voip@puck.nether.net>
https://puck.nether.net/mailman/listinfo/cisco-voip
_______________________________________________
cisco-voip mailing list
cisco-voip@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-voip

Reply via email to