11.23.2009

Love Google Calendar!

I always use the quick add feature of Google Calendar to add events, that way I can type in things like "Call with Jack Tuesday morning at 9" and an event is added. Today I figured I'd paste this directly from an email:

Blake has a meeting in Houston on Tuesday. We need to change the staff
meeting to Wednesday. I was thinking 10:00 if that works for you.


It seemed like a long shot, but it worked! It made an event on Wednesday at 10 am, I was surprised and then realized that in the future these sorts of things will be parsed from your email automatically and you'll simply accept them into your calendar. I like!

11.01.2009

Nagios Asterisk IAX2 POKE with check_asterisk.pl

It seems that since around Asterisk 1.4.26.2 the Nagios contrib plugin check_asterisk has stopped working for the "iax ping" feature. I turned on iax debugging in Asterisk and did a packet capture. Seems like the only reason why it worked was because it sent a 0x06 REJECT frame and Asterisk would reply with invalid. I changed it to send a 0x1e POKE request and submitted a small patch to fix this in the plugin. I seriously doubt the Nagios Plugins team will do anything with it since there's no upstream maintainer and it's in the contrib directory so here's the patch:


--- check_asterisk.pl 2009-09-24 03:13:56.000000000 -0700
+++ check_asterisk.pl.changed 2009-11-01 13:10:06.000000000 -0800
@@ -31,7 +31,8 @@
my $iax_timestamp = "00000000";
my $iax_outbound_seq = "00";
my $iax_inbound_seq = "00";
-my $iax_type = "06"; #IAX_Control
+my $iax_type = "06"; #IAX_Control
+my $iax_frame_value = "1e"; #POKE

sub ok {
$s = shift;
@@ -224,7 +225,7 @@
socket(PING, PF_INET, SOCK_DGRAM, getprotobyname("udp"));

$msg = pack "H24", $iax_src_call . $iax_dst_call . $iax_timestamp .
- $iax_outbound_seq . $iax_inbound_seq . $iax_type . $iax_type;
+ $iax_outbound_seq . $iax_inbound_seq . $iax_type . $iax_frame_value ;

$ipaddr = inet_aton($host);
$sendto = sockaddr_in($port,$ipaddr);


You should also check out this patch that adds performance data to the Nagios plugin. Good for graphing channel usage over time.

References:
* IAX2 RFC Document
* Nagios Plugins
* Bug/Patch Report