diff --git a/configs/cdr_mysql.conf.sample b/configs/cdr_mysql.conf.sample
new file mode 100755
index 0000000000000000000000000000000000000000..18f3154a4d8a399dcfdeeedbd0df8d1cbc74b686
--- /dev/null
+++ b/configs/cdr_mysql.conf.sample
@@ -0,0 +1,5 @@
+;[global]
+;hostname=database.host.name
+;dbname=asteriskcdrdb
+;password=password 
+;user=asteriskcdruser
diff --git a/doc/cdr_mysql.txt b/doc/cdr_mysql.txt
new file mode 100755
index 0000000000000000000000000000000000000000..9127c2f2b18cf05053f93f2be417d52aad2d3ab2
--- /dev/null
+++ b/doc/cdr_mysql.txt
@@ -0,0 +1,28 @@
+Call Detail Recording for MySQL
+===============================
+
+Usage:
+======
+
+Include the module in your modules.conf.  Change the database hostname, database name, username, and password in cdr_mysql.conf.
+
+Create a table called cdr under the database name you will be using the following schema.
+
+CREATE TABLE cdr (
+  calldate datetime NOT NULL default '0000-00-00 00:00:00',
+  clid varchar(45) NOT NULL default '',
+  src varchar(45) NOT NULL default '',
+  dst varchar(45) NOT NULL default '',
+  dcontext varchar(45) NOT NULL default '',
+  channel varchar(45) NOT NULL default '',
+  dstchannel varchar(45) NOT NULL default '',
+  lastapp varchar(45) NOT NULL default '',
+  lastdata varchar(45) NOT NULL default '',
+  duration int(11) NOT NULL default '0',
+  billsec int(11) NOT NULL default '0',
+  disposition int(11) NOT NULL default '0',
+  amaflags int(11) NOT NULL default '0',
+  accountcode varchar(45) NOT NULL default ''
+);
+
+The calls will automatically be logged as long as the module is loaded.
diff --git a/pbx/pbx_wilcalu.c b/pbx/pbx_wilcalu.c
index d0abb8d9c5f374970d828cd560ffa73799c79094..df1788831363a776dc1c85bd8987f0caf4d47c15 100755
--- a/pbx/pbx_wilcalu.c
+++ b/pbx/pbx_wilcalu.c
@@ -17,6 +17,7 @@
  *  "tech/tele,filename&" ie. "tor1/23,file&"
  */
  
+#include <asterisk/lock.h>
 #include <asterisk/file.h>
 #include <asterisk/logger.h>
 #include <asterisk/channel.h>
@@ -244,7 +245,7 @@ int unload_module(void)
 int load_module(void)
 {
 	int val;
-	if((val=mkfifo(dialfile,O_RDWR))){
+	if((val=mkfifo(dialfile, 0700))){
 		if(errno!=EEXIST){
 			printf("Error:%d Creating Autodial FIFO\n",errno);
 			return 0;