diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-01-16 09:29:28 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2013-07-29 12:34:03 +0200 |
commit | d1dea065295f825e91cd7f04dc60bc35f4cdbd75 (patch) | |
tree | 19ac3873f7bac430348c389ed54a50173eeba247 /openbsc/include/openbsc/mncc.h | |
parent | 0af6a32d98640742c14cb7ea3506c3070e25b9f0 (diff) |
Adding traffic forwarding via RTP to remote application
Instead of forwarding traffic through MNCC interface, traffic can
now be forwarded to a given RTP destination. A special MNCC message
is used for that. The traffic can still be forwarded through MNCC
interface when this special MNCC message is not used.
It also works with E1 based BTSs.
In conjunction with LCR's "rtp-bridge" feature, the RTP traffic
can be directly exchanged with a remote SIP endpoint, so that the
traffic is not forwarded by LCR itself. This way the performance
of handling traffic only depends on OpenBSC and the remote SIP
endpoint. Also the traffic is exchanged with the SIP endpoint
without transcoding, to have maximum performance.
Diffstat (limited to 'openbsc/include/openbsc/mncc.h')
-rw-r--r-- | openbsc/include/openbsc/mncc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/mncc.h b/openbsc/include/openbsc/mncc.h index 4a99bb11b..12a6ec833 100644 --- a/openbsc/include/openbsc/mncc.h +++ b/openbsc/include/openbsc/mncc.h @@ -92,9 +92,13 @@ struct gsm_call { #define MNCC_FRAME_RECV 0x0201 #define MNCC_FRAME_DROP 0x0202 #define MNCC_LCHAN_MODIFY 0x0203 +#define MNCC_RTP_CREATE 0x0204 +#define MNCC_RTP_CONNECT 0x0205 +#define MNCC_RTP_FREE 0x0206 #define GSM_TCHF_FRAME 0x0300 #define GSM_TCHF_FRAME_EFR 0x0301 +#define GSM_TCHF_FRAME_HR 0x0302 #define MNCC_SOCKET_HELLO 0x0400 @@ -176,6 +180,13 @@ struct gsm_mncc_hello { uint32_t lchan_type_offset; }; +struct gsm_mncc_rtp { + uint32_t msg_type; + uint32_t callref; + uint32_t ip; + uint16_t port; +}; + char *get_mncc_name(int value); void mncc_set_cause(struct gsm_mncc *data, int loc, int val); void cc_tx_to_mncc(struct gsm_network *net, struct msgb *msg); |