#!/usr/bin/perl ######################################################################## # Generate CME ephone/DN configurations from a CSV file # # Brian Landers # 2011.01.08 # # Input Format: FirstName,LastName,DID,MacAddress ######################################################################## use strict; use warnings; my $VOICEMAIL = "42709"; my $VM_TIMEOUT = 25; my $PHONE_TYPE = "7945"; ######################################################################## my $counter = 2; while(<>) { chomp; my @fields = split /,/; # First and Last Name my $name = "$fields[0] $fields[1]"; # Extension -- assumes last 4 digits of DID my $ext = $fields[2]; $ext =~ s/[^0-9]//g; $ext =~ s/^.+(\d\d\d\d)$/$1/; # Full DID my $did = $fields[2]; $did =~ s/[^0-9]//g; # MAC address my $mac = $fields[3]; $mac =~ s/[^A-Fa-f0-9]//g; $mac =~ s/(.{4})(.{4})(.{4})/$1.$2.$3/; print << " END"; ephone-dn $counter dual-line number $ext secondary $did description $name call-forward busy $VOICEMAIL call-forward noan $VOICEMAIL timeout $VM_TIMEOUT ! ephone $counter no multicast-moh device-security-mode none description $ext - $name mac-address $mac max-calls-per-button 2 type $PHONE_TYPE button 1:$counter ! END $counter++ }