aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-03-26 08:21:46 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2017-12-01 03:37:42 +0100
commit8c961ae80d0839ef0e462e7a274ec0c55a8221b2 (patch)
tree61ecaf5b365b9c7bf88e58b63af06e6c9ef14449
parentba4bc50bac8e94982503af42c853295939bd76b5 (diff)
Fixed AMR payload type selection and handling
-rw-r--r--src/libtrau/rtp_proxy.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libtrau/rtp_proxy.c b/src/libtrau/rtp_proxy.c
index 8f931cf24..fb8f04055 100644
--- a/src/libtrau/rtp_proxy.c
+++ b/src/libtrau/rtp_proxy.c
@@ -177,6 +177,9 @@ static int rtp_decode(struct msgb *msg, uint32_t callref, struct msgb **data, in
case RTP_PT_GSM_HALF:
msg_type = GSM_TCHH_FRAME;
break;
+ case RTP_PT_AMR:
+ msg_type = GSM_TCH_FRAME_AMR;
+ break;
default:
DEBUGPC(DLMUX, "received RTP frame with unknown "
"payload type %d\n", rtph->payload_type);
@@ -312,7 +315,7 @@ int rtp_send_frame(struct rtp_socket *rs, struct gsm_data_frame *frame)
duration = 160;
break;
case GSM_TCH_FRAME_AMR:
- if ((frame->data[1] & 0x04) != 0x04)
+ if ((frame->data[2] & 0x04) != 0x04)
goto bfi;
payload_type = (dynamic_pt) ? : RTP_PT_AMR;
payload_len = frame->data[0];