diff --git a/dahdi_cfg.c b/dahdi_cfg.c
index ecd4477..6d05169 100644
--- a/dahdi_cfg.c
+++ b/dahdi_cfg.c
@@ -252,6 +252,10 @@ static const char *sigtype_to_str(const int sig)
 		return "FXO Groundstart";
 	case DAHDI_SIG_FXOKS:
 		return "FXO Kewlstart";
+	case DAHDI_SIG_RPO:
+		return "Revertive Pulse Originating";
+	case DAHDI_SIG_RPT:
+		return "Revertive Pulse Terminating";
 	case DAHDI_SIG_CAS:
 		return "CAS / User";
 	case DAHDI_SIG_DACS:
@@ -650,6 +654,12 @@ static int chanconfig(char *keyword, char *args)
 			} else if (!strcasecmp(keyword, "fxoks")) {
 				cc[x].sigtype = DAHDI_SIG_FXOKS;
 				sig[x] = sigtype_to_str(cc[x].sigtype);
+			} else if (!strcasecmp(keyword, "rpo")) {
+				cc[x].sigtype = DAHDI_SIG_RPO;
+				sig[x] = sigtype_to_str(cc[x].sigtype);
+			} else if (!strcasecmp(keyword, "rpt")) {
+				cc[x].sigtype = DAHDI_SIG_RPT;
+				sig[x] = sigtype_to_str(cc[x].sigtype);
 			} else if (!strcasecmp(keyword, "cas") || !strcasecmp(keyword, "user")) {
 				if (parse_idle(&cc[x].idlebits, idle))
 					return -1;
@@ -785,6 +795,33 @@ static int setfiftysixkhdlc(char *keyword, char *args)
 	return 0;
 }
 
+/* Allows hearpulsing to be a configurable option */
+static int sethearpulsing(char *keyword, char *args)
+{
+	int res;
+	short setting;
+	int x;
+	int chans[DAHDI_MAX_CHANNELS];
+
+	bzero(chans, sizeof(chans));
+	res = apply_channels(chans, args);
+	if (res <= 0)
+		return -1;
+	if (!strcasecmp(keyword, "hearpulsing")) {
+		setting = 1;
+	} else {
+		fprintf(stderr, "Huh??? Don't know about '%s' hearpulsing setting\n", keyword);
+		return -1;
+	}
+	for (x=0;x<DAHDI_MAX_CHANNELS;x++) {
+		if (chans[x])
+			cc[x].hearpulsing = setting;
+	}
+	return 0;
+}
+
+
+
 static int apply_fiftysix(void)
 {
 	int x;
@@ -1413,6 +1450,8 @@ static struct handler {
 	{ "fxols", chanconfig },
 	{ "fxogs", chanconfig },
 	{ "fxoks", chanconfig },
+	{ "rpo", chanconfig },
+	{ "rpt", chanconfig },
 	{ "rawhdlc", chanconfig },
 	{ "nethdlc", chanconfig },
 	{ "fcshdlc", chanconfig },
@@ -1447,6 +1486,8 @@ static struct handler {
 	{ "channels", rad_chanconfig },
 	{ "echocanceller", setechocan },
 	{ "56k", setfiftysixkhdlc },
+	{ "hearpulsing", sethearpulsing }, /* (CNET) Make outpulsing audible to caller */
+
 };
 
 static char *readline()
@@ -1857,6 +1898,16 @@ finish:
 						" on a BRI span (use hardhdlc)"
 						"\n");
 					break;
+				case DAHDI_SIG_RPO:
+					fprintf(stderr, "\tyou messed up the code"
+						" for RPO/RPT cards somehow"
+						"\n");
+					break;
+				case DAHDI_SIG_RPT:
+					fprintf(stderr, "\tyou messed up the code"
+						" for RPO/RPT cards somehow"
+						"\n");
+					break;
 				default:
 					break;
 				}
