diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 3ad5b28e423c36ce39edf568a795162d22b9b788..f221ca05c203adc48ff276db204b9dc6d20d4754 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -1029,6 +1029,7 @@ static char *event2str(int event)
         return buf;
 }
 
+#ifdef ZAPATA_PRI
 static char *dialplan2str(int dialplan)
 {
 	if (dialplan == -1) {
@@ -1036,6 +1037,7 @@ static char *dialplan2str(int dialplan)
 	}
 	return(pri_plan2str(dialplan));
 }
+#endif
 
 #ifdef ZAPATA_R2
 static int str2r2prot(char *swtype)
diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h
index 5e1ae2087cd7d2f1b7fddbc3f281f52b5709e011..40cc391e6f335c1b777b06eb7f5e3f64af6320db 100755
--- a/include/asterisk/sched.h
+++ b/include/asterisk/sched.h
@@ -102,6 +102,24 @@ extern int ast_sched_runq(struct sched_context *con);
  */
 extern void ast_sched_dump(struct sched_context *con);
 
+/*
+ *! Convenience macro for objects and reference (add)
+ *
+ */
+#define ast_sched_add_object(obj,con,when,callback) ast_sched_add((con),(when),(callback), ASTOBJ_REF((obj)))
+
+/*
+ *! Convenience macro for objects and reference (del)
+ *
+ */
+#define ast_sched_del_object(obj,destructor,con,id) do { \
+	if ((id) > -1) { \
+		ast_sched_del((con),(id)); \
+		(id) = -1; \
+		ASTOBJ_UNREF((obj),(destructor)); \
+	} \
+} while(0)
+
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif