aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-10-22 17:15:31 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-06-17 09:49:55 +0200
commitee1b2e3d92725e2736344dcfb4aa9edcc196646f (patch)
treec31d2baf1374f37b193c54e32f516428505470db
parent05efe619b8bb78575a0a91c49070024dcbff1143 (diff)
mgcp: Document a difference between RFC 3550 and this code
Explain why this code deals with only one source and that this is a limit of some equipment (e.g. the nanoBTS).
-rw-r--r--openbsc/src/libmgcp/mgcp_network.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/openbsc/src/libmgcp/mgcp_network.c b/openbsc/src/libmgcp/mgcp_network.c
index 2ff54673d..e9af738b9 100644
--- a/openbsc/src/libmgcp/mgcp_network.c
+++ b/openbsc/src/libmgcp/mgcp_network.c
@@ -99,6 +99,14 @@ int mgcp_send_dummy(struct mgcp_endpoint *endp)
endp->net_end.rtp_port, buf, 1);
}
+/**
+ * The RFC 3550 Appendix A assumes there are multiple sources but
+ * some of the supported endpoints (e.g. the nanoBTS) can only handle
+ * one source and this code will patch packages to appear as if there
+ * is only one source.
+ * There is also no probation period for new sources. Every package
+ * we receive will be seen as a switch in streams.
+ */
static void patch_and_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state,
int payload, struct sockaddr_in *addr, char *data, int len)
{