On Wed, Jan 22, 2014 at 10:05:55AM +0100, Andreas Eversberg wrote:
+#define MNCC_RTP_CREATE 0x0204 +#define MNCC_RTP_CONNECT 0x0205 +#define MNCC_RTP_FREE 0x0206
Increase the version. We have a uint32_t for the version number and it will take a while to overflow it.
+ RTP_PROXY, /* forward from BTS to BTS */ + RTP_RECV_UPSTREAM, /* forward to L4 application */ + RTP_RECV_L4, /* receive RTP frames from L4 application */
L4? is that the best name you can think off?
+ bts = trans->conn->lchan->ts->trx->bts; + switch (bts->type) { + case GSM_BTS_TYPE_NANOBTS: + case GSM_BTS_TYPE_OSMO_SYSMO:
...
+ case GSM_BTS_TYPE_BS11: + case GSM_BTS_TYPE_RBS2000: + case GSM_BTS_TYPE_NOKIA_SITE:
There are already methods for "is IP based BTS", "is E1 based BTS". Couldn't you use them here?
+ /* L4 uses RTP for this transaction, we send our data via RTP, + * otherwise we send it through MNCC interface */ + if (msg_type == GSM_TCHF_FRAME + || msg_type == GSM_TCHF_FRAME_EFR + || msg_type == GSM_TCHH_FRAME + || msg_type == GSM_TCH_FRAME_AMR + || msg_type == GSM_BAD_FRAME) {
I have seen lchan->type checks and message type checks like these as well. Could you create a predicate function that check mncc_is_audio_message(), or lchan_voice_chan?