openbsc.git branch neels/aoip updated. 0.15.0-859-g449f3c2c1

gitosis at gitosis at
Sat Jun 17 15:40:40 UTC 2017

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)".

The branch, neels/aoip has been updated
  discards  f28797a84df8d13743222b87e664cdeae450840c (commit)
  discards  a29091aba81d0303b47dbdc7377bd2d8db9a687c (commit)
  discards  37170a74eee6c19a2b8633c747887a3ac1b9fee2 (commit)
  discards  163d2e3651eeb24618e4ae70d0b4be813d7379f4 (commit)
  discards  d56f7d7d61b9539bdbf4b8ab39ab3233d026c277 (commit)
  discards  42a59b8064bf19d9b0376a6bdf4b4e7a860c793c (commit)
  discards  c137e86538a0b027f5be46c1ce7e09d6f92848a4 (commit)
  discards  55f00baeac572514a4585324b940b0d01c2a0e46 (commit)
  discards  4caee3540d4d58eb6e5fadbf5bfaf7903348c961 (commit)
  discards  4aced69b42e2fb8f57b5c8611406149f44410bc2 (commit)
  discards  074d6f6a14df5e8057cfd280f0729ed31cf24018 (commit)
  discards  0293f48d0cabad35f8794ff71e565138bbf3dbcd (commit)
  discards  2dcdd8a38a3fcf3e5ee6ce2e63a277ba8234a76a (commit)
  discards  c1aa6af10023f947e53a7fb82eb6a5d3794978f9 (commit)
  discards  f4ae4d02bf8826f1f706e207a59922fa7a4d03dd (commit)
  discards  fe187c72442acfb121e223f814594b8c81ead831 (commit)
  discards  554ea76f3cc7a3866b55744baa59f2e95d0e19b8 (commit)
  discards  783927f929d3d36a3d77e6a273ff7c0a70ea15be (commit)
  discards  74791c877df8c17ced97a1342896acf439c3d4a8 (commit)
  discards  08ed9b3f78a7ecdf844604b3ee0c7b03d05fd3cf (commit)
  discards  843421714a102a4695c0e6b4588822e2a2901944 (commit)
  discards  5ffe475c4b3aa1319622df280571ca5880192583 (commit)
  discards  227dbb1c58aed1416f55781b88145f7c9a319ebb (commit)
  discards  47aa8d7f861bb516eede2bd801725579ee5dd142 (commit)
  discards  50a02b288de2508925594a591a1f0577223a2109 (commit)
  discards  873a3044c1955909bb12c9a196a57f08834da599 (commit)
  discards  be558d277231581dd1add4872e2e15252a97c1a4 (commit)
  discards  e0dbfd032cbc579d39926726414fdca185d8860f (commit)
  discards  a864742a9d821e0a359c632cddcf25eba0b9d037 (commit)
  discards  d92e7b433b2cafe78510fa0001bed155c25084a2 (commit)
  discards  d52abbd0992300bff3fc7d5507f1eb3c1f973919 (commit)
  discards  dcdfb78aecad3dab3830b0b9d3fc3e86081b3ef7 (commit)
  discards  0821f302b917b6304a0b0fdb8e2fe094829fdeec (commit)
  discards  0a7f6de320cb98ea9520756b664aafc27af6f0a8 (commit)
  discards  99e468a50e2a60cf4b98c294d2a59d489feefae8 (commit)
  discards  55b1bfaf0a65ef2cf4b8565241981054d69703a7 (commit)
  discards  420da966b080b8dece9ae2ce125df2bc29e4d746 (commit)
  discards  5acffbdedaff8e402508716546686d462f085fef (commit)
  discards  8de79d472d42ddc1337c66e34ed7f26758353e6b (commit)
  discards  7ec9baa3ecb21fe01c23427fcee35f27e1bd2380 (commit)
  discards  e466355b67cbace5953b48213aff8336c6c64de9 (commit)
  discards  37fe7ae5f2ca1379e82689d6a6893256000b061c (commit)
  discards  2a1c1fe7b416b8db61ee952ce1178f638dd08c54 (commit)
  discards  ebff45e2ee89bd8c3cb106a58da3b172c01467e1 (commit)
  discards  227bbf2f61bd927e7ff0512b8ffc7cd54c4e33ef (commit)
  discards  07d403cae51ecec5f8f079ccc80c6bd92c35f818 (commit)
  discards  0437ac36f30514ec2b82930538491dba28b13c6f (commit)
  discards  1282397f63708d18c1dbee7321ea765955046ea9 (commit)
  discards  d2de0631d34d4fde84ba75ab61e385ce705bf8e1 (commit)
  discards  4bf2bef8cb260e07be5be755b63223d300a2e45b (commit)
  discards  925cabe78cf7d76ec38e0c349e4ee11d63d12762 (commit)
  discards  7364df61fb4daf2176fe784df830e30990dd60dc (commit)
  discards  d8092f5a747dead8f2a72ecc76f44fac3fbfbdda (commit)
  discards  f1b7365fd9fdf999644ab1e15821a6cb3c2b2836 (commit)
       via  449f3c2c118d5a3da09aa1021397414752668851 (commit)
       via  78194ee6695c3101de3cc63e2d98ec9d627ef272 (commit)
       via  08d83578d08e9bdb379e93a13c3f243849558029 (commit)
       via  8f6810760b7b0f2b00e9957390b614feef4aa989 (commit)
       via  39ceafd8799b28226a01c406e391d4351aa5057c (commit)
       via  1ce55acc36b52fbc9aaa492c4c33118fc2c59d9e (commit)
       via  6c6964f96d8ee3505dd44942464e91d5f8e2635a (commit)
       via  ad65b8474a1f9e1c8ce795eb7914d969f44dda6f (commit)
       via  d6472533fd57ca7b1a3b6f7f5c25a8bcb82315c1 (commit)
       via  db652d8e76a97cde7ece311e3261e6ebf6c463a9 (commit)
       via  d462fdff5adef13c94c15a70955318ce9c4be6bc (commit)
       via  1204627da9f75508caaac7296f5fdea3b5c430b4 (commit)
       via  269def78b0d9e7db3d74b6a40faf2742e3d82e1f (commit)
       via  06cdfe4e0dffbf86661c85abc04c0f504907d937 (commit)
       via  9debdfe8e3a65be454f4227b8194f829ce019002 (commit)
       via  f752974f0f296f5913aee3d2942723a2483c0198 (commit)
       via  06f487b88df7755f8f579a0e717ee61f06362d2d (commit)
       via  0daa6fe82e9fee501b577898a565cc801e6b645d (commit)
       via  7b90c558e006ea3b97cb042d95b53afb51dd3a7c (commit)
       via  925c66b992c4240de80314801f859d7f73e13156 (commit)
       via  39f616aeb98061c4bb6ce899fa84c04a9b2fe1cd (commit)
       via  8397e5e5a0316011ce6fccece43f0e1eaea68b5d (commit)
       via  99e44652ae9532b5a919c2c9580003bae3febe19 (commit)
       via  7d84fabb2b008ebda71f915102a772a2df964849 (commit)
       via  ffd92da2597b396a86efaab63f34097afb3cb978 (commit)
       via  b87a67c87f7e4eb5754da385b2455c6f5e700b13 (commit)
       via  e8de2185640742b737776d5264765fbac12b4f96 (commit)
       via  bdd0329621b85b8d4949944e9ac566e5dea241fb (commit)
       via  0f033eafe76d1423a49bd94ec37c4cb6221398fd (commit)
       via  083b88cb35feda06808e6a2efdf64e32c29e9d12 (commit)
       via  6c2016eb225a1250402e6990f9fdf5aa0c037da1 (commit)
       via  f532c38198403106da45df57aca0e26e4f998b0c (commit)
       via  e7becc10fb2f647f13086cef55962a0bc91bb814 (commit)
       via  3f9a62130d4e4c92e8812fcd36a149e0635ac18e (commit)
       via  57d0b25ddff5fde4a22314fa13071e50d444a5c5 (commit)
       via  7cadf1111c1a29bb7524f23e79491a6c1fd12f64 (commit)
       via  2dfafa2d62a9389c2682d6d2b90e8de394d4ac93 (commit)
       via  94717d0fcd4c273eb86e7019fc0ecbde713f1ad3 (commit)
       via  963c9292e39c00b99795553e77f3c58cb2eaed67 (commit)
       via  bb6d57121cdb75238184abaf1583efe72f86f598 (commit)
       via  eba73a4410676f67823f72b80f965b03a79d39a3 (commit)
       via  8c3ad11d80f8b7097d207f510d5d34cdc06fc478 (commit)
       via  3dc65dc8939d81b0b208fd0cd7994ecafe2268e8 (commit)
       via  d70a755edecb8db92948df8c6986eb85fb668f4e (commit)
       via  14bc78691ae62f546ffb56c457d20e35f4e61375 (commit)
       via  b455583b14ac6bf10efbbbc529cddff6530c2c40 (commit)
       via  1499fd3772fc19fee3d613ce730de6f0b45064f4 (commit)
       via  3c6b297f539c83bc71cea5eb4d8bd29b2017717b (commit)
       via  f7bc286f3bab4d7274712b8d448d50c9b276db4c (commit)
       via  30beb12cc12780e0174281da90d556df84e1f9ff (commit)
       via  ab601e27a82bcd2f71585a9f4872eedf2d2186e5 (commit)
       via  013ae87cc4bfc684a9f297800d3eda0129521fda (commit)
       via  5cfa2f6da8b073925df9f84315456101ab47d863 (commit)
       via  32af1cc5665e23d034362c42a805a92c07682c8d (commit)
       via  8b1a2f8cd7a81c6b8c7cdb0963dcf89de7c46100 (commit)
       via  70fdd24d04a37217724ec8f12873e292b10e5e4d (commit)
       via  9b97b007dfe96b8a74932ab101d5e341b5796f75 (commit)
       via  a60bb3dd28ce9e3720f8ee1b262893f3e233e2e6 (commit)
       via  c51c1e795091ba7663a2303bda48cb12fa327c19 (commit)
       via  33e1357a903dad41745df4b5b7284e80ce542ecb (commit)
       via  4a824ca8fcf13427d1560b2c866da2a2d82e3692 (commit)
       via  aef68387ae6d78df948a6b2b3a61050c4f192c5e (commit)
       via  71d082bec770b9664be5cf59e2723db09a645902 (commit)
       via  8254cf75bf818e715201c670c7fb81b9a23dec0b (commit)
       via  3f86c523eea75e3da7f0495c7e43b944356d2321 (commit)
       via  2abd5e1663f34cee545edcc9e4592ec45b6c0c1e (commit)
       via  645eb622832671a2256987f1857da86cd50a9eea (commit)
       via  7fe00fb9be1dddbaee175be0217fddd8858c7aad (commit)
       via  0483f338209a3eae91dd5cf6f568eb81ece5f6a9 (commit)
       via  0de69a2501e1d49a8202daaeb9cdd7bfee62effa (commit)
       via  5f72f6fccc50412acc7d0a2e921bb723a2105d63 (commit)
       via  271ceca86216ba0b22f7ba5222a5331766fb3d8c (commit)
       via  2faeb1ac6cc054737b153b08be1de3846256a820 (commit)
       via  722bbb402f4dbf6eaea09c728fb9406ba4c026d1 (commit)
       via  f8aeb2cccb767c8823e1c851efd8de86a226033e (commit)
       via  f14cb3535cf469632b5da63f35b31aa79fd0c5c3 (commit)
       via  872671e01ba4c081ca642b1bb7abee8fe7c4af45 (commit)
       via  a229756885907bf46c820649e87396a25b1ac4ae (commit)
       via  54050a28ede20242a79ef3851057c63f454773c9 (commit)
       via  854bcc2b7b36c4b9fc965cd8104006705d09edb7 (commit)
       via  e586f41692f1e7d2386c52ae9caa81b6d9a2de08 (commit)
       via  67798617b53c1ca37668ef5c57de27b97cd57035 (commit)
       via  b4999b60d48bcbb5aa575973d068e07ab672e095 (commit)
       via  94bbc73bce304609124e9f617953a11634905d58 (commit)
       via  6f483d3a05c7c006a36ca6868bbd1846d00c9afc (commit)
       via  1fe2647c5de6c460dd776787f039bbc51ed779a0 (commit)
       via  5265bea76c90427d70257b7fac0f0b7d40a015cb (commit)
       via  320960cf9d28474098dad11bd1042f2a58d87fac (commit)
       via  9f77d7bd0e39cfd0f3e952c5b375abba5a415d37 (commit)
       via  71124de33c86ea5740eeabea381bff80b23ffd30 (commit)
       via  defb6c95c14e95133891312b65436eef5964e0a3 (commit)
       via  845a3a4c594f56fc754eae3b261675b460aec2ac (commit)
       via  f39d03ad21d8120af847603d9b2ead71b8c4ba43 (commit)
       via  1ebf23b7fe631dbafcc2dc4a1e8a8beced4ecc0d (commit)
       via  7590ff3fd6cde4264f6e7961f8d9dcafbb526271 (commit)
       via  34ce3d93c52a734a7380114254a14ce8bcc77bb1 (commit)
       via  5121576b0c6c323ae5f92d8d987b8c0899d99db0 (commit)
       via  7b62d54b52457ecae649ead12e67369b3e09c235 (commit)
       via  2b6c5407b6889325beb1a1aa0fd5f33718756de2 (commit)
       via  7507aef92b75c86b6ecc11b2a7bbbc378a8dea51 (commit)
       via  93ffbd0029d1200dfa51a0e68b4c11743f1cc0e8 (commit)
       via  638ad068e8597af81dc985d3d256ccc26e82373b (commit)
       via  fd2c1f90ba590fbb8c790e3619713769817997de (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (f28797a84df8d13743222b87e664cdeae450840c)
             N -- N -- N (449f3c2c118d5a3da09aa1021397414752668851)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 449f3c2c118d5a3da09aa1021397414752668851
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 19:09:43 2017 +0200

    osmo-bsc: react on reset requests from MSC
    The bsc side currently can not receive reset commands from an
    MSC. This patch adds required functionality to receive a reset
    command and acknowlege it properly. The effects are the same
    as with when sending resets (all drop all ongoing calls and
    sccp connections)

commit 78194ee6695c3101de3cc63e2d98ec9d627ef272
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 17:40:01 2017 +0200

    libcommon-cs: genralize a interface reset fsm
    The AoIP standard also describes an MSC->BSC reset procedure. We
    currently do not implement it. However, the fsm that is used to
    issue the reset request from the bsc side is not generalized. This
    patch generalizes the code in order to be able to use the same
    code on the MSC side to perform a reset procedure from there.

commit 08d83578d08e9bdb379e93a13c3f243849558029
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 15:58:28 2017 +0200

    fixup: remove unused counter
    Forgot to remove the counter struct osmo_timer_list msc_reset_timer;
    Needs to be fixuped into the reset handling patches

commit 8f6810760b7b0f2b00e9957390b614feef4aa989
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 14:06:18 2017 +0200

    sccp-lite: remove old sccp-lite code
    in osmo_bsc_sccp.c all code is commented out. There is no point
    in keeping the file. This commit deletes it.

commit 39ceafd8799b28226a01c406e391d4351aa5057c
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 13:49:07 2017 +0200

    osmo-bsc: Send USSD notification when an MSC loss is detected
    the old sccp-lite based imlementation offered support for sending
    an USSD notification as soon as a loss of the MSC connection is
    detected. This is done before forcefully dropping the affected
    This commit ports the feature to the new libosmo-sigtran
    NOTE: I do not know if this works and I also do not really
    understand how this is even possible. Sending an USSD notification
    would rquire the subscriber to be properly attached? When the MSC
    is lost this almost not possible since no backend to authenticate
    against is available.

commit 1ce55acc36b52fbc9aaa492c4c33118fc2c59d9e
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 13:22:59 2017 +0200

    cosmetic: make function names in a_iface_bssap more expressive.
    The function names in a_iface_bssap.c are not very expressive.
    The problem not only exists on the API side, but also for static
    functions. This patch replaces the function names with more
    expressive names.

commit 6c6964f96d8ee3505dd44942464e91d5f8e2635a
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 12:52:35 2017 +0200

    cosmetic: more expressive function names in a_iface
    The function names if the API function in a_iface.c are not
    very expressive. Besides of that, the prototypes are in the
    wrong header file. This commit gives the function more
    expressive names and moves the prototypes in the right header

commit ad65b8474a1f9e1c8ce795eb7914d969f44dda6f
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 12:34:26 2017 +0200

    fixup: return with value in void function

commit d6472533fd57ca7b1a3b6f7f5c25a8bcb82315c1
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 12:26:31 2017 +0200

    mgcp: make bts base port configurable
    Currently the rtp base port of the BTS is hardcoded (4000) and not
    configurable. This patch adds VTY configuration options to make
    it adjustable.

commit db652d8e76a97cde7ece311e3261e6ebf6c463a9
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 11:43:44 2017 +0200

    Revert "mgcp: make sure all endpoints are closed on startup"
    Clearing all endpoints by sending a DLCX on startup has ben found
    to be a bit too offensive. It also will not help against
    inconsitancies that may occour during runtime (e.g. an overheard
    DLCX during regular call teardown).
    This reverts commit b669ea94cb78fd9b56ee8dd9392538151349f8ba.

commit d462fdff5adef13c94c15a70955318ce9c4be6bc
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 11:39:41 2017 +0200

    mgcp: Make sure endpoint is free on CRCX
    The MSC is aware of the assigned endpoints at all times, so it
    will not assign an occupied endpoint to someone else. However,
    if it has just restarted, there maybe lingering open endpoints.
    This patch introduces a fairly simple soultion. Before a new
    endpoint is seized (CRCX), a DLCX is send in advance. If the
    endpoint was still occupied with a dead connection, it will
    be freed. If it was free anyway, the DLCX will just have no

commit 1204627da9f75508caaac7296f5fdea3b5c430b4
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 17:22:07 2017 +0200

    a_iface_bssap: clear lingering subscriber connections on reset
    When the BSC is vanishing, the subscriber connections will stay
    active until the MSC is instructed via tha A interface to clear
    the connections. Unfortunately, this will most likely not be
    the case because the BSC will most likeley have lost all its
    state and does not know about the old connections anymore.
    This patch fixes the problem by looping through the list with
    the active gsm subscriber connections and clearing them manually
    when the reset from the BSC is received. Only connections by the
    bsc who actually executes the reset are affected. Connections
    from other BSCs will not be touched.

commit 269def78b0d9e7db3d74b6a40faf2742e3d82e1f
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 17:00:31 2017 +0200

    cosmetic: fix typo

commit 06cdfe4e0dffbf86661c85abc04c0f504907d937
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 15:36:14 2017 +0200

    mgcp: make sure all endpoints are closed on startup
    If the MSC is crashing and restarting, it may leave some endpoints
    open. The endpoints can not be re-used until they are deleted
    (DLCX). This patch sends a DLCX to all possible endpoints (usually
    this is in a countable range) in order to clear possible open
    endpoints from a previous run

commit 9debdfe8e3a65be454f4227b8194f829ce019002
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 15:28:39 2017 +0200

    mgcp: make structs accessible from outside
    struct mgcpgw_client and struct mgcp_inuse_endpoint are not
    accessible from outside, making it difficult to look in the
    mgcp client properties and status. The commit moves the
    structs into the header file.

commit f752974f0f296f5913aee3d2942723a2483c0198
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 14:21:50 2017 +0200

    mgcp: release no longer used endpoint identifiers
    When an MGCP endpoint is deleted, we need to mark its endpoint
    id as unused, so other calls can used it. This is currently not
    happening. This patch fixes that.

commit 06f487b88df7755f8f579a0e717ee61f06362d2d
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 14:18:47 2017 +0200

    mgcp: improve endpoint management
    Currently the assignment of endpoint identifiers works by just
    incrementing a counter. The mgcpgw only has a limited amount
    of endpoint identifiers avaliable, this means we will run out
    of endpoints after only a few calls.
    This commit adds a mechanism to keep track of used endpoint
    identifiers so unused endpoint identifiers can be re-used

commit 0daa6fe82e9fee501b577898a565cc801e6b645d
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 12:21:07 2017 +0200

    mgcp: use mgcp DLCX command to terminate endpoint after call is done
    Currently no DLCX command is sent to the mgcpgw when a call is over,
    this leaves the endpoint open. This means that the endpoint can not
    never be reused by other calls. This patch adds a DLCX that
    terminates the the endpoint when the call is done.

commit 7b90c558e006ea3b97cb042d95b53afb51dd3a7c
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 12:19:30 2017 +0200

    mgcp: add DLCX command to mgcpgw client
    The mgcpgw client currently lacks support for DLCX. This patch
    adds a generator function to generate a DLCX command as well.

commit 925c66b992c4240de80314801f859d7f73e13156
Author: Philipp Maier <pmaier at>
Date:   Wed Jun 7 18:19:53 2017 +0200

    cosmetic: fixing coding style

commit 39f616aeb98061c4bb6ce899fa84c04a9b2fe1cd
Author: Philipp Maier <pmaier at>
Date:   Tue Jun 6 14:39:22 2017 +0200

    fixup: in osmo-bsc-sigtran.h header (bsc_msc_data.h) was missing

commit 8397e5e5a0316011ce6fccece43f0e1eaea68b5d
Author: Philipp Maier <pmaier at>
Date:   Tue Jun 6 14:31:36 2017 +0200

    osmo-bsc: Handle RESET/RESET-ACK properly
    Improve the way the BSC executes its RESET/RESET-ACK sequence.
    Currently only a simple bool variable serves as a state holder.
    We set this variable to true when we receive the RESET-ACK
    message. Unfortunately no further checking is done. This
    patch replaces the old mechanism with a more elaborated
    implementation which also detects a loss of the connection
    and makes sure to reconnect properly afterwards. Also the
    all open connections are closed on connection loss

commit 99e44652ae9532b5a919c2c9580003bae3febe19
Author: Philipp Maier <pmaier at>
Date:   Tue Jun 6 12:31:00 2017 +0200

    sccp: Use osmo-stp instead of direct server/client connection
    This patch adjusts the code to use osmo-stp. This is only an
    intermediate solution, since we still have hardcoded parameter.
    Next step is to use the VTY options from libosmo-sigtran to
    issue the configurations.

commit 7d84fabb2b008ebda71f915102a772a2df964849
Author: Philipp Maier <pmaier at>
Date:   Fri Jun 2 17:48:37 2017 +0200

    fixup for: aoip: signal channel type to BSC
    The channel type and the speech codec element is now
    signalled to the BSC. The BSC checks both fields and
    select a codec by its preference. The choosen speech
    codec and the choosen channel (type) is returned to
    the MSC. Currently the MSC ignores the return values

commit ffd92da2597b396a86efaab63f34097afb3cb978
Author: Philipp Maier <pmaier at>
Date:   Wed May 31 17:17:59 2017 +0200

    aoip: signal channel type to BSC
    obtain the permitted speech and the prefered channel parameters
    and signal it to the MSC with the channel type field.

commit b87a67c87f7e4eb5754da385b2455c6f5e700b13
Author: Philipp Maier <pmaier at>
Date:   Mon May 29 13:18:44 2017 +0200

    osmo-msc: Integrate A interface into existing call control
    The MSC already has some basic call control handling mechanism, that
    was primarily used with 3G before. However, the already existing
    code that handles the 3G calls is also perfectly fine for handling
    2G calls. This commit integrates the A interface without breaking
    it for 3G.

commit e8de2185640742b737776d5264765fbac12b4f96
Author: Philipp Maier <pmaier at>
Date:   Mon May 29 13:14:18 2017 +0200

    osmo-bsc: Negotiate rtp ip address/port with BTS
    This patch adds the support for the RTP IP-Address/Port assignment.
    The post communicated via the assignment request is now transmitted
    via RSL/IPACC to the BTS. The Response containing the RX-Port at
    the BTS side is communicated back to the MSC.
    Since we plan to add a private MGCPGW to each BSC, this has to
    be extended. Currently it only creates a direct connection to
    the BTS. This will be introduced with a future patch.

commit bdd0329621b85b8d4949944e9ac566e5dea241fb
Author: Philipp Maier <pmaier at>
Date:   Thu May 18 16:20:18 2017 +0200

    fixup: Hexdump for incoming unit data was missing

commit 0f033eafe76d1423a49bd94ec37c4cb6221398fd
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 22 21:27:19 2017 +0200

    comment: fixme to cleanup MGCP ports
    Related: OS#2279
    Change-Id: Iaf4877ad1c6446609715094d785e9be93c9e0429

commit 083b88cb35feda06808e6a2efdf64e32c29e9d12
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 22 21:28:09 2017 +0200

    msc: enable basic CTRL commands
    So far CTRL was not used by anyone, and was still disabled from the initial
    implementation of the OsmoMSC. Now we need it in osmo-gsm-tester.
    Only add the MSC specific CTRL commands, the bsc_base_ctrl_cmds_install() still
    needs to be split up.
    Change-Id: Id8f72000e0f4dea081bfce94fde8cd54290dfa7d

commit 6c2016eb225a1250402e6990f9fdf5aa0c037da1
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 11 14:31:35 2017 +0200

    sgsn: add missing osmo_ss7_init()
    Change-Id: I7abe7a96fc4f46757605a75334a3bd240f54faf3

commit f532c38198403106da45df57aca0e26e4f998b0c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 8 15:11:00 2017 +0200

    drop libosmo-ranap from sms_queue test
    Change-Id: I0afd8e4db3c84fd1265d3903e389c5164ea73335

commit e7becc10fb2f647f13086cef55962a0bc91bb814
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 8 15:10:42 2017 +0200

    wip iudummy struct osmo_sccp_addr -- drop this?
    Change-Id: I90b807b1c6f2a3e86c81c0906168f8c0fc5440b3

commit 3f9a62130d4e4c92e8812fcd36a149e0635ac18e
Author: Philipp Maier <pmaier at>
Date:   Wed Apr 12 15:19:45 2017 +0200

    WIP: Integrate AoIP into MSC

commit 57d0b25ddff5fde4a22314fa13071e50d444a5c5
Author: Philipp Maier <pmaier at>
Date:   Thu Apr 20 18:40:37 2017 +0200

    libmsc: make pitfall in gsm0408_dispatch() more obvious
    The function gsm0408_dispatch() accepts a message buffer pointer
    and accesses the l3h pointer. Even in a properly allocated
    message buffer, this may lead into a segfault if the user forgets
    to set the l3h pointer. This commit adds assertions to popup a
    more expressive error message.

commit 7cadf1111c1a29bb7524f23e79491a6c1fd12f64
Author: Philipp Maier <pmaier at>
Date:   Wed Apr 12 15:26:04 2017 +0200

    WIP: Integrate AoIP into OsmoBSC

commit 2dfafa2d62a9389c2682d6d2b90e8de394d4ac93
Author: Harald Welte <laforge at>
Date:   Sun Apr 9 12:32:51 2017 +0200

    WIP: Port to new libosmo-sigtran API (with proper M3UA for Iuh)
    This changes over to the new libosmo-sigtran API with support for
    proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for
    the IuCS and IuPS interfaces.
    Only the ASP (client) is used, assuming that both the HNB-GWs and RNCs
    as well as the MSCs and SGSNs are all connecting as ASP to some STP/SGW
    which offers M3UA server functionality as well as point-code and/or
    global title based routing.
    Tweaked-by: nhofmeyr (test expectation)
    Change-Id: If0ff956fbf1484899d59ae1a5885543bca31645b

commit 94717d0fcd4c273eb86e7019fc0ecbde713f1ad3
Author: Daniel Willmann <dwillmann at>
Date:   Mon May 8 13:04:59 2017 +0200

    examples: Change IP address of config files
    This helps in providing 3G software packages for the sysmoNITB hardware.
    Change-Id: I99ba316be1088c10496025325dfe03035892d394

commit 963c9292e39c00b99795553e77f3c58cb2eaed67
Author: Daniel Willmann <dwillmann at>
Date:   Mon May 8 13:04:49 2017 +0200

    contrib: Add osmo-msc service file
    Change-Id: I60b1b134beec741c50df4c32d44ed51b720e12c9

commit bb6d57121cdb75238184abaf1583efe72f86f598
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:09:47 2016 +0200

    temporary dev: set debug log level almost everywhere
    Change-Id: I0d5a36560e7edde27497de57e579f5b1d00eb525

commit eba73a4410676f67823f72b80f965b03a79d39a3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Mar 10 02:15:20 2017 +0100

    log protocol discriminators and message types by name
    Depends: libosmocore change-id I0fca8e95ed5c2148b1a7440eff3fc9c7583898df
    Change-Id: If1c49faf6e1757cb16b383dd2db87b48bc94eee6

commit 8c3ad11d80f8b7097d207f510d5d34cdc06fc478
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Mar 16 16:14:34 2017 +0100

    mgcp: hack RAB success from nano3G: patch first RTP payload
    The ip.access nano3G needs the first RTP payload's first two bytes to read hex
    'e400', or it will reject the RAB assignment. Add flag
    patched_first_rtp_payload to mgcp_rtp_state to detect the first RTP payload on
    a stream, and overwrite its first bytes with e400. This should probably be
    configurable, but seems to not harm other femto cells (as long as we patch only
    the first RTP payload in each stream). Only do this when sending to the BTS
    Change-Id: I31a4475f42d59fd5704d52ee6e473e270db6d779

commit 3dc65dc8939d81b0b208fd0cd7994ecafe2268e8
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri May 20 21:59:55 2016 +0200

    Implement IuCS (large refactoring and addition)
    osmo-nitb becomes osmo-msc
    add DIUCS debug log constant
    add iucs.[hc]
    add msc vty, remove nitb vty
    add libiudummy, to avoid linking Iu deps in tests
    Use new msc_tx_dtap() instead of gsm0808_submit_dtap()
    libmgcp: add mgcpgw client API
    bridge calls via mgcpgw
    mgcp: hack RAB success from nano3G: patch first RTP payload
    The ip.access nano3G needs the first RTP payload's first two bytes to read hex
    'e400', or it will reject the RAB assignment. Add flag
    patched_first_rtp_payload to mgcp_rtp_state to detect the first RTP payload on
    a stream, and overwrite its first bytes with e400. This should probably be
    configurable, but seems to not harm other femto cells (as long as we patch only
    the first RTP payload in each stream). Only do this when sending to the BTS
    Change-Id: Ie13ff348117e892d41b8355ab6c24915301eaeaf

commit d70a755edecb8db92948df8c6986eb85fb668f4e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 8 15:12:20 2017 +0200

    mscsplit: various preparations to separate MSC from BSC
    Disable large parts of the code that depend on BSC presence.
    Don't set msg->lchan nor msg->dst.
    Don't use lchan in libmsc.
    Decouple lac from bts.
    Prepare entry/exit point for MSC -> BSC and MSC -> RNC communication:
    Add msc_ifaces.[hc], a_iface.c, with a general msc_tx_dtap() to redirect to
    different interfaces depending on the actual subscriber connection.
    While iu_tx() is going to be functional fairly soon, the a_tx() is going to be
    just a dummy for some time (see comment).
    Add Iu specific fields in gsm_subscriber_connection: the UE connection pointer
    and an indicator for the Integrity Protection status on Iu (to be fully
    implemented in later commits).
    Add lac member to gsm_subscriber_connection, to allow decoupling from
    bts->location_area_code. The conn->lac will actually be set in iu.c in an
    upcoming commit ("add iucs.[hc]").
    move to libcommon-cs: gsm48_extract_mi(), gsm48_paging_extract_mi().
    libmsc: duplicate gsm0808 / gsm48 functions (towards BSC).
    In osmo-nitb, libmsc would directly call the functions on the BSC level, not
    always via the bsc_api. When separating libmsc from libbsc, some functions are
    missing from the linkage.
    Hence duplicate these functions to libmsc, add an msc_ prefix for clarity, also
    add a _tx to gsm0808_cipher_mode():
    * add msc_gsm0808_tx_cipher_mode() (dummy/stub)
    * add msc_gsm48_tx_mm_serv_ack()
    * add msc_gsm48_tx_mm_serv_rej()
    Call these from libmsc instead of
    * gsm0808_cipher_mode()
    * gsm48_tx_mm_serv_ack()
    * gsm48_tx_mm_serv_rej()
    Also add a comment related to msc_gsm0808_tx_cipher_mode() in two places.
    Temporarily disable all paging to be able to link libmsc without libbsc.
    Skip the paging part of channel_test because the paging is now disabled.
    In osmo-nitb, paging is done on BSC level and MSC level "at the same time".
    When the new MSC is fully operational, paging will be controlled separately on
    the MSC level, and the BSC (RNC) level will be instructed over an IuCS or
    A-interface to negotiate paging with the MS (UE). This MSC level paging does
    not yet exist and will be added in subsequent commits.
    msc_compl_l3(): publish in .h, tweak return value.  Use new libmsc enum values
    for return val, to avoid dependency on libbsc headers.  Make callable from
    other scopes: publish in osmo_msc.h and remove 'static' in osmo_msc.c
    add gsm_encr to subscr_conn
    move subscr_request to gsm_subscriber.h
    subscr_request_channel() -> subscr_request_conn()
    move to libmsc: osmo_stats_vty_add_cmds()
    gsm_04_08: remove apply_codec_restrictions()
    gsm0408_test: use NULL for root ctx
    move to libbsc: gsm_bts_neighbor()
    move to libbsc: lchan_next_meas_rep()
    move vty config for t3212 to network level (periodic lu)
    remove unneccessary linking from some tests
    remove handle_abisip_signal()
    abis_rsl.c: don't use libvlr from libbsc
    Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41

commit 14bc78691ae62f546ffb56c457d20e35f4e61375
Author: Harald Welte <laforge at>
Date:   Mon May 2 08:34:57 2016 +0200

    IuPS adjustments
    SGSN: Don't indicate GERAN in Iu mode PDP CTX ACT REQ to GGSN
    sgsn_ranap_iu_event: handle some events without valid MM context
    sgsn init: pass sgsn_config pointer to sgsn_vty_init(), not sgsn_parse_config
    IuPS: cosmetic: explicitly check RAN type; move comment
    Change-Id: I8375ba42dd47d7ccd9ce9290767d6f8653a23b94

commit b455583b14ac6bf10efbbbc529cddff6530c2c40
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Mar 29 15:17:55 2017 +0200

    osmo-nitb: change default config file name to osmo-nitb.cfg
    Since the VLR development marks a move away from the 'openbsc' name, now is a
    good opportunity to also change the default config file name to the more
    accurate and obvious 'osmo-nitb.cfg'.
    Change-Id: I47658dad59ec38c39be59415db5f648c9e4c79f2

commit 1499fd3772fc19fee3d613ce730de6f0b45064f4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Mar 29 15:16:08 2017 +0200

    osmo-nitb: change default db name to sms.db
    libvlr now delegates subscriber management to osmo-hlr, so the database no
    longer represents a HLR. It basically only stores SMS, so reflect that fact in
    the default database name.
    Change-Id: Ibf766d9f7f67aae17f76988d6279da20ad18e4bc

commit 3c6b297f539c83bc71cea5eb4d8bd29b2017717b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Feb 22 02:27:59 2017 +0100

    SI3: indicate R99+ MSC to GSM MS to enable UMTS AKA
    Change-Id: Iaf11218327f139e8cabfbc5f9916505c66eadbd8

commit f7bc286f3bab4d7274712b8d448d50c9b276db4c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Jan 25 15:04:16 2017 +0100

    Add msc_vlr test suite for MSC+VLR end-to-end tests
    Change-Id: Ic073f3a069a7f5e7e421e0e56140f069ee9b10b8

commit 30beb12cc12780e0174281da90d556df84e1f9ff
Author: Harald Welte <laforge at>
Date:   Sun Jun 19 18:06:02 2016 +0200

    Use libvlr in libmsc (large refactoring)
    Original libvlr code is by Harald Welte <laforge at>,
    polished and tweaked by Neels Hofmeyr <nhofmeyr at>.
    This is a long series of development collapsed in one patch. The original
    history may still be available as branch neels/vlr_orig.
    TODO: This commit may be split in several smaller changes before merging to
    The SQL based lookup of SMS for attached subscribers no longer works since the
    SQL database no longer has the subscriber data. Replace with a round-robin on
    the SMS recipient MSISDNs paired with a VLR subscriber RAM lookup whether the
    subscriber is currently attached.
    If there are many SMS for not-attached subscribers in the SMS database, this
    will become inefficient: a DB hit returns a pending SMS, the RAM lookup will
    reveal that the subscriber is not attached, after which the DB is hit for the
    next SMS. It would become more efficient e.g. by having an MSISDN based hash
    list for the VLR subscribers and by marking non-attached SMS recipients in the
    SMS database so that they can be excluded with the SQL query already.
    There is a sanity limit to do at most 100 db hits per attempt to find a pending
    SMS. So if there are more than 100 stored SMS waiting for their recipients to
    actually attach to the MSC, it may take more than one SMS queue trigger to
    deliver SMS for subscribers that are actually attached.
    This is not very beautiful, but is merely intended to carry us over to a time
    when we have a proper separate SMSC entity.
    Introduce gsm_subscriber_connection ref-counting in libmsc.
    Related: OS#1592
    Change-Id: I702ba504ce2de93507312c28eca8d11f09f4ee8b

commit ab601e27a82bcd2f71585a9f4872eedf2d2186e5
Author: Harald Welte <laforge at>
Date:   Fri Jun 17 00:06:42 2016 +0200

    Add libvlr implementation
    Original libvlr code is by Harald Welte <laforge at>,
    polished and tweaked by Neels Hofmeyr <nhofmeyr at>.
    This is a long series of development collapsed in one patch. The original
    history may still be available as branch neels/vlr_orig.
    Related: OS#1592
    Change-Id: I3f75de5f0cc2ff77f276fd39832dd3621309c4b9

commit 013ae87cc4bfc684a9f297800d3eda0129521fda
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Feb 14 17:42:25 2017 +0100

    logging: auth request: use hexdump without spaces for RAND, AUTN
    Change-Id: I656d8619a1adc93e2f627f4e1ba21512a7374279

commit 5cfa2f6da8b073925df9f84315456101ab47d863
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat Mar 4 03:15:53 2017 +0100

    gsup_client: allow passing a unit id to identify with HLR
    Before, each GSUP client would contact the HLR with an identical unit id, i.e.
    "SGSN-00-00-00-00-00-00", with the result that some messages were sucked off by
    the wrong client.
    Pass explicit unit name from each gsup client user, so that OsmoMSC is "MSC"
    and OsmoSGSN is "SGSN". Hence the HLR can properly route the messages.
    Todo: also set some values instead of the zeros.
    Unrelated cosmetic change while editing the arguments: gsup_client_create()'s
    definition's oap client config arg name mismatched the one used in the
    declaration. Use oapc_config in both.
    Change-Id: I3f8d6dd47c7013920e2a4bde006ed77afd974e80

commit 32af1cc5665e23d034362c42a805a92c07682c8d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat Mar 4 02:28:19 2017 +0100

    GPRS/IuPS: remove all 3G authentication dev hacks
    UMTS auth works now with the external OsmoHLR.
    Change-Id: I1204f388cf1311ec98b3eaf7505d7e18e73f03d0


Summary of changes:
 openbsc/.gitignore                           |   2 +
 openbsc/include/openbsc/          |   8 +-
 openbsc/include/openbsc/abis_nm.h            |  21 +-
 openbsc/include/openbsc/abis_rsl.h           |   5 +-
 openbsc/include/openbsc/debug.h              |   1 +
 openbsc/include/openbsc/gsm_04_08.h          |   2 +-
 openbsc/include/openbsc/gsm_04_11.h          |   5 +
 openbsc/include/openbsc/gsm_data.h           |  14 +-
 openbsc/include/openbsc/gsm_data_shared.h    |  77 ++-
 openbsc/include/openbsc/pcu_if.h             |  35 ++
 openbsc/include/openbsc/pcuif_proto.h        | 176 +++++++
 openbsc/include/openbsc/rest_octets.h        |   9 +-
 openbsc/include/openbsc/system_information.h |   7 +-
 openbsc/include/openbsc/vty.h                |   1 -
 openbsc/src/gprs/                 |   2 +-
 openbsc/src/gprs/gprs_gmm.c                  |   8 +-
 openbsc/src/gprs/gprs_sgsn.c                 |   4 +-
 openbsc/src/gprs/gtphub.c                    |   4 +-
 openbsc/src/gprs/sgsn_ares.c                 |   4 +-
 openbsc/src/gprs/sgsn_cdr.c                  |   4 +-
 openbsc/src/gprs/sgsn_libgtp.c               |   3 +-
 openbsc/src/ipaccess/abisip-find.c           |   4 +-
 openbsc/src/ipaccess/ipaccess-config.c       |  45 +-
 openbsc/src/ipaccess/ipaccess-proxy.c        |   3 +-
 openbsc/src/libbsc/               |   1 +
 openbsc/src/libbsc/abis_nm.c                 | 223 +++++---
 openbsc/src/libbsc/abis_rsl.c                | 100 +++-
 openbsc/src/libbsc/bsc_api.c                 |  18 +-
 openbsc/src/libbsc/bsc_init.c                |  38 +-
 openbsc/src/libbsc/bsc_msc.c                 |   6 +-
 openbsc/src/libbsc/bsc_rf_ctrl.c             |  12 +-
 openbsc/src/libbsc/bsc_rll.c                 |   4 +-
 openbsc/src/libbsc/bsc_vty.c                 | 310 ++++++++---
 openbsc/src/libbsc/bts_ericsson_rbs2000.c    |   2 +
 openbsc/src/libbsc/bts_nokia_site.c          |   4 +-
 openbsc/src/libbsc/gsm_04_08_utils.c         |   7 +-
 openbsc/src/libbsc/handover_logic.c          |   3 +-
 openbsc/src/libbsc/paging.c                  |  11 +-
 openbsc/src/libbsc/pcu_sock.c                | 742 +++++++++++++++++++++++++++
 openbsc/src/libbsc/rest_octets.c             | 232 ++++++---
 openbsc/src/libbsc/system_information.c      | 186 +++++--
 openbsc/src/libcommon-cs/common_cs_vty.c     |   4 +-
 openbsc/src/libcommon/common_vty.c           |   8 -
 openbsc/src/libcommon/debug.c                |   5 +
 openbsc/src/libcommon/gsm_data.c             |  22 +-
 openbsc/src/libcommon/gsm_data_shared.c      |  81 +++
 openbsc/src/libcommon/gsup_client.c          |   6 +-
 openbsc/src/libcommon/gsup_test_client.c     |   3 +-
 openbsc/src/libmgcp/mgcp_protocol.c          |   3 +-
 openbsc/src/libmgcp/mgcp_vty.c               |  24 +-
 openbsc/src/libmsc/gsm_04_08.c               |   3 +-
 openbsc/src/libmsc/gsm_04_11.c               |  38 +-
 openbsc/src/libmsc/smpp_openbsc.c            | 163 +++++-
 openbsc/src/libmsc/smpp_smsc.c               |  16 +
 openbsc/src/libmsc/smpp_smsc.h               |  18 +-
 openbsc/src/libmsc/sms_queue.c               |   6 +-
 openbsc/src/osmo-bsc/osmo_bsc_main.c         |   2 +-
 openbsc/src/osmo-bsc/osmo_bsc_msc.c          |   6 +-
 openbsc/src/osmo-bsc/osmo_bsc_vty.c          |  18 +-
 openbsc/src/osmo-bsc_nat/bsc_nat.c           |  12 +-
 openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c      |   6 +-
 openbsc/src/osmo-bsc_nat/bsc_nat_utils.c     |   2 +-
 openbsc/src/osmo-bsc_nat/bsc_nat_vty.c       |  28 +-
 openbsc/src/osmo-bsc_nat/bsc_ussd.c          |   3 +-
 openbsc/src/osmo-msc/msc_main.c              |   4 +-
 openbsc/src/utils/                |   3 +
 openbsc/src/utils/bs11_config.c              |   2 +-
 openbsc/tests/abis/abis_test.c               | 104 +---
 openbsc/tests/abis/abis_test.ok              |  14 +-
 openbsc/tests/gsm0408/gsm0408_test.c         | 160 ++++--
 openbsc/tests/gsm0408/gsm0408_test.ok        | 167 ++++--
 openbsc/tests/mgcp/mgcp_test.c               |   2 +-
 openbsc/tests/sndcp_xid/          |   3 +-
 73 files changed, 2553 insertions(+), 726 deletions(-)
 create mode 100644 openbsc/include/openbsc/pcu_if.h
 create mode 100644 openbsc/include/openbsc/pcuif_proto.h
 create mode 100644 openbsc/src/libbsc/pcu_sock.c

The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)

More information about the osmocom-commitlog mailing list