diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-10-24 21:52:16 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-10-29 19:41:37 +0100 |
commit | 07fc097fc406c8daa26b83171d3d68f5d1537ac6 (patch) | |
tree | 89660a7389fb4fa5164f3b79a664a1c47a9502cb /openbsc | |
parent | aff20717e4a15599a30396f5a38aa42f0ce8d779 (diff) |
nat: Document the high level goal of the MGCP/NAT routines
Provide some high level documentation that might help to understand
what this code is supposed to be doing.
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c index 62bf183fa..2ff22b27b 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c @@ -1,6 +1,30 @@ +/** + * This file contains helper routines for MGCP Gateway handling. + * + * The first thing to remember is that each BSC has its own namespace/range + * of endpoints. Whenever a BSSMAP ASSIGNMENT REQUEST is received this code + * will be called to select an endpoint on the BSC. The mapping from original + * multiplex/timeslot to BSC multiplex'/timeslot' will be stored. + * + * The second part is to take messages on the public MGCP GW interface + * and forward them to the right BSC. This requires the MSC to first + * assign the timeslot. This assumption has been true so far. We are using + * the policy_cb of the MGCP protocol code to decide if the request should + * be immediately answered or delayed. An extension "Z: noanswer" is used + * to request the BSC to not respond. This is saving some bytes of bandwidth + * and as we are using TCP to forward the message we know it will arrive. + * The mgcp_do_read method reads these messages and hands them to the protocol + * parsing code which will call the mentioned policy_cb. The bsc_mgcp_forward + * method is used on the way back from the BSC to the network. + * + * The third part is to patch messages forwarded to the BSC. This includes + * the endpoint number, the ports to be used inside the SDP file and maybe + * some other bits. + * + */ /* - * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org> - * (C) 2010 by On-Waves + * (C) 2010-2012 by Holger Hans Peter Freyther <zecke@selfish.org> + * (C) 2010-2012 by On-Waves * All Rights Reserved * * This program is free software; you can redistribute it and/or modify |