diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 3dd364feaab7d0e88f52d6aa1dc66c0816b9421a..10fa823b733c5a5347e3decac38558c9000c722a 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -379,6 +379,9 @@ struct chan_iax2_pvt {
 	
 	/* Who we are bridged to */
 	unsigned short bridgecallno;
+	unsigned int bridgesfmt;
+	struct ast_trans_pvt *bridgetrans;
+	
 	int pingid;			/* Transmit PING request */
 	int lagid;			/* Retransmit lag request */
 	int autoid;			/* Auto hangup for Dialplan requestor */
@@ -1034,6 +1037,9 @@ retry:
 		pvt->lagid = -1;
 		pvt->autoid = -1;
 		pvt->initid = -1;
+		if (pvt->bridgetrans)
+			ast_translator_free_path(p->bridgetrans);
+		pvt->bridgetrans = NULL;
 
 		/* Already gone */
 		pvt->alreadygone = 1;
diff --git a/rtp.c b/rtp.c
index bd29e044b4615b0b14bd6aeb21d73b22ea6b045b..d816f8de5f0778d00497e10df6f698890db2977b 100755
--- a/rtp.c
+++ b/rtp.c
@@ -546,6 +546,7 @@ static struct rtpPayloadType static_RTP_PT[MAX_RTP_PT] = {
   [31] = {1, AST_FORMAT_H261},
   [34] = {1, AST_FORMAT_H263},
   [97] = {1, AST_FORMAT_ILBC},
+  [100] = {0, AST_RTP_DTMF},
   [101] = {0, AST_RTP_DTMF},
   [110] = {1, AST_FORMAT_SPEEX},
   [121] = {0, AST_RTP_CISCO_DTMF}, // Must be type 121