aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xchannels/chan_mgcp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 171b72297..22058c775 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -2006,7 +2006,7 @@ static int transmit_notify_request(struct mgcp_subchannel *sub, char *tone)
add_header(&resp, "R", "L/hd(N)");
break;
case MGCP_OFFHOOK:
- add_header(&resp, "R", (p->dtmfmode & MGCP_DTMF_INBAND) ? "L/hu(N),L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
+ add_header(&resp, "R", (sub->rtp && (p->dtmfmode & MGCP_DTMF_INBAND)) ? "L/hu(N),L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
break;
}
if (strlen(tone)) {
@@ -2060,7 +2060,7 @@ static int transmit_notify_request_with_callerid(struct mgcp_subchannel *sub, ch
add_header(&resp, "R", "L/hd(N)");
break;
case MGCP_OFFHOOK:
- add_header(&resp, "R", (p->dtmfmode & MGCP_DTMF_INBAND) ? "L/hu(N),L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
+ add_header(&resp, "R", (sub->rtp && (p->dtmfmode & MGCP_DTMF_INBAND)) ? "L/hu(N),L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
break;
}
if (strlen(tone2)) {
@@ -2100,7 +2100,7 @@ static int transmit_modify_request(struct mgcp_subchannel *sub)
add_header(&resp, "R", "L/hd(N)");
break;
case MGCP_OFFHOOK:
- add_header(&resp, "R", (p->dtmfmode & MGCP_DTMF_INBAND) ? "L/hu(N), L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
+ add_header(&resp, "R", (sub->rtp && (p->dtmfmode & MGCP_DTMF_INBAND)) ? "L/hu(N), L/hf(N)" : "L/hu(N),L/hf(N),D/[0-9#*](N)");
break;
}
/* SC: fill in new fields */