diff options
Diffstat (limited to 'openbsc/src/rtp_proxy.c')
-rw-r--r-- | openbsc/src/rtp_proxy.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/openbsc/src/rtp_proxy.c b/openbsc/src/rtp_proxy.c index f9207d661..551349750 100644 --- a/openbsc/src/rtp_proxy.c +++ b/openbsc/src/rtp_proxy.c @@ -82,6 +82,7 @@ struct rtp_x_hdr { #define RTP_VERSION 2 #define RTP_PT_GSM_FULL 3 +#define RTP_PT_GSM_EFR 97 /* decode an rtp frame and create a new buffer with payload */ static int rtp_decode(struct msgb *msg, u_int32_t callref, struct msgb **data) @@ -152,6 +153,9 @@ static int rtp_decode(struct msgb *msg, u_int32_t callref, struct msgb **data) return -EINVAL; } break; + case RTP_PT_GSM_EFR: + msg_type = GSM_TCHF_FRAME_EFR; + break; default: DEBUGPC(DMUX, "received RTP frame with unknown payload " "type %d\n", rtph->payload_type); @@ -196,6 +200,11 @@ int rtp_send_frame(struct rtp_socket *rs, struct gsm_data_frame *frame) payload_len = 33; duration = 160; break; + case GSM_TCHF_FRAME_EFR: + payload_type = RTP_PT_GSM_EFR; + payload_len = 31; + duration = 160; + break; default: DEBUGPC(DMUX, "unsupported message type %d\n", frame->msg_type); |