#!/usr/bin/perl #### Settings: #### ## Set this to your local EID ## Eventually, this might get checked from Asterisk my $LOCAL_EID = "00:YO:UR:EI:DH:ER"; ## Set this to your hostname or IP, ## or blank if you don't want one to show my $LOCAL_NAME = "your.host.or.ip"; ## The command to issue to get your 'dundi show peers' my $ASTERISK = "asterisk -rx 'dundi show peers'"; ## DUNDi Mapping Target (not recommended to change this) my $TARGET = 'http://vulcan.dmacc.cc.ia.us/dundi/add.cgi'; #### Stop Changing Here #### my $SHOWPEERS = ""; # This must remain blank use HTTP::Request::Common qw(POST); use LWP::UserAgent; my $ua = LWP::UserAgent->new; $ua->agent("DundiUpdate/LWP-1.0"); open F, "$ASTERISK|"; while() { $SHOWPEERS .= $_ if m/^[0-9a-f]/; } close F; my $req = POST $TARGET, [ label => $LOCAL_NAME, local_eid => $LOCAL_EID, showpeers => $SHOWPEERS ]; print "Sending the following peer list:\n"; print $SHOWPEERS; my $resp = $ua->request($req)->content(); if($resp =~ m/^DUNDI_UPDATE_OK/) { print "Server Update Successful\n"; } else { print "Server Update FAILED\n"; }