openbsc.git branch aoip updated. 0.15.0-862-g51d2a3354

gitosis at gitosis at
Mon Jun 19 00:31:39 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, aoip has been updated
  discards  44b975a641c500c6d2ebdc7b7e3650ebba121d2d (commit)
  discards  0e99f565fecef8552d51b6bf839c76f1f2122846 (commit)
  discards  cb897b8f8d4384e2e72b377d604224b4b591858f (commit)
  discards  6c5b1c279a10fd74b92f6740c9cc24d53c2e4c7b (commit)
  discards  0416fa67b553002027784f050b43983b8f12ebe2 (commit)
  discards  ff1dd87b01c5516fb7b782aba79e402e3c4a4004 (commit)
  discards  2925cec20257ebee1675c7fad5cd9530382d6739 (commit)
  discards  612ec3d595281f713de8e5712e54c70d48026fbe (commit)
  discards  95a374854994136150ff107e0697a728b38730f6 (commit)
  discards  a828fce165a160eb4879f02a3e80a8f5de509f53 (commit)
  discards  160e54e6c35eeaf63323c65058306d9244d2280b (commit)
  discards  310b37e308f65b9bd6a7f6576a63a16ed8426b12 (commit)
  discards  ccc91e2754baf98c3348307793ef7c26511d8157 (commit)
  discards  cc058c70163081ec4d09d5ccfa1d36f99debdfe1 (commit)
  discards  5b83e9942229968b371e414ab58aa3edaca46419 (commit)
  discards  a12e840426c8adc534eac2669f81bcb41667e6ee (commit)
  discards  e228956dd3d2d59c0cd742289fa91678c989ea5d (commit)
  discards  2395f55300b3f76b090d3c870c998f6663ad6281 (commit)
  discards  8559e411b45101faffe9a880a9f0839eb2ebb773 (commit)
  discards  d0a6769d5f1c0b55f54d354cee5a6c9c8884828a (commit)
  discards  553ffc4b0f803e79d55e8513899145831ed7a33b (commit)
  discards  c1558c072105f5e8df634a2dbd3f5f0aed88f28f (commit)
  discards  d02e73d218dbbbe08adbd0d655297a1e0ade7c42 (commit)
  discards  ee610e49c0340d563a42ed3e592e7a22acc41796 (commit)
  discards  5660e224239f441a1ec5fae16ae0a405b117f8ca (commit)
  discards  f50df360aeffc7e0c69459faf681120ae2824620 (commit)
  discards  9545666ee1a47bfc43f7e41ed920db7c2124a1bb (commit)
  discards  04219aba466870f7737a57bf29bd2adf7315af38 (commit)
  discards  1fb043506c0aec583e2683c691f05c3d55b39146 (commit)
  discards  b91572a361d2e0a1daa6489b5b5729d4f009f998 (commit)
  discards  1593d01fb19e466833e4e87da9f74963753bb5f4 (commit)
  discards  719a60f0840e2e61ae809ab35035905906afd58f (commit)
  discards  e998f542c43d41db4720c0cbe856c11820db8196 (commit)
  discards  d45bab2c41ad9f9521dd7be58842e95aad3e06ef (commit)
  discards  d5d3009a67d5cb14fb10f46d9a2721dac0eb0b90 (commit)
  discards  ea7934dbaa3962154861993f0e0e8c2dbd34235c (commit)
  discards  18f0d6ecd49d80d3850c9717936372c8a477c444 (commit)
  discards  5b9c47cceb65e67ff64e8803467df34a737e945b (commit)
  discards  3b9e0197d4113dd0650465480ba3ec5fa5e10e0c (commit)
  discards  86b98a9a9e0c5af3c60d985571ee72c5d9f69c48 (commit)
  discards  9695c6c6e278bb4eb43f2dc3d76abf9211ade325 (commit)
  discards  653345afd013b8a48432e6732cdd9b38cff83343 (commit)
  discards  7db2bf610a7364be333faecee49779b4a1515fd6 (commit)
  discards  6954acf2f4399dce397a6ba8bfac5bdf92a26d81 (commit)
  discards  8cdabef4816ed7b2b58260e08b00a68ca73fc196 (commit)
  discards  781fb3d5e44d19cb257cc525ad0bb655e5268098 (commit)
  discards  dba7d4aaceb88323f4f4af0c84b8883b29c73888 (commit)
  discards  047377f8f2fa7509445aeeda270cc4e9c0686c60 (commit)
  discards  71ad637ca261d63d8f7d8a49cdb1f819796c9c79 (commit)
  discards  4430a620b0c9427bb001f0428305f53265ab03d5 (commit)
  discards  ab601e27a82bcd2f71585a9f4872eedf2d2186e5 (commit)
  discards  013ae87cc4bfc684a9f297800d3eda0129521fda (commit)
  discards  5cfa2f6da8b073925df9f84315456101ab47d863 (commit)
  discards  32af1cc5665e23d034362c42a805a92c07682c8d (commit)
       via  51d2a33542064e8605302a22214f57f7886c703e (commit)
       via  738cc1106c0273a918350f495a6a746d06fc2e2a (commit)
       via  2abf6b020090788b03d0d1d9207acd62d6a6abcb (commit)
       via  5cb12d0a2c75aa9624a1a95f3f98d7ad39ac05f8 (commit)
       via  151feb99c3cd3bb1146e7b5a03e44f4bf2b05512 (commit)
       via  b64c23440e3f41c47269a3dc58ddddd765f38c84 (commit)
       via  0f82438059169006c883ee126cc2957b844f0c19 (commit)
       via  7d98e0058c2fadab7fc139000a5987e1b95cfe56 (commit)
       via  39f3b1109d4b3463b44ac7b3401a03a16166edba (commit)
       via  778e14a51e28294e2e4f4c869c01ec177713c263 (commit)
       via  7a36bbad99e4cdbd5c081a5db62663aca3aee191 (commit)
       via  41c0e21364974d4dca2a28c3c70dec76a1c9269e (commit)
       via  456d3c44d1adf0ffe0f9684f57bddf7575479e5c (commit)
       via  9b5dee4e33fc432898ecfe490e28e0748dea83c9 (commit)
       via  21521acd3f9147db01fde7729181c26769efdc77 (commit)
       via  cf04ac42b1981805b028ea02d42456d53299e62d (commit)
       via  d7bf0dcae8f8e6b2ade7032057dfed5601a3cb4b (commit)
       via  b8012aad098444a83014d40a4a84b62a4be4c59a (commit)
       via  188a804f6df55a66185054e664d6b3a998e7a371 (commit)
       via  1728a6eb188a887a636f3eb8a01a6b09ad2515f5 (commit)
       via  277ccecb679c47dbcfb694c490117c541b4be47e (commit)
       via  8b0d8a97fb5cddb718c0b35af02bbcfe4599bdc5 (commit)
       via  fabe468dd47ffd72a3ff2b6387422d304b178665 (commit)
       via  926f84a2a33432091fffc22a6166fbb6df2920e5 (commit)
       via  9f15ac5ba06c91086626eff4855848ee80b56d44 (commit)
       via  dfe085d979ba8b7266a6c66ecb13bf5a11a8d86f (commit)
       via  e818b91729de56db7643c0961f810c1652f65701 (commit)
       via  805b83a1ef41bbc1d0d6c944e949dbbd33fcfc75 (commit)
       via  8ac978bd64ba94b012ac2ab2fd47378cd580b1c8 (commit)
       via  23b5ace90ed9d141237873db9e18e54e65f62c4f (commit)
       via  8d49f40280260fbc2b16490e1a11b4f38b5d066e (commit)
       via  832a69181b68c00247c1c1c55225d5278ef705d2 (commit)
       via  50f36fe4094c8937d1c775cb1aa2ccaa83290820 (commit)
       via  76174d9dd94bb88ae63e616e84ae58b9f290e92b (commit)
       via  e3aca93630e7a4572bd0459115b25348e1840c0e (commit)
       via  0923fc6707ea35776ad8c37a6d490ac3408dd274 (commit)
       via  22593b2cef43bceafe7727f893be4657f949489f (commit)
       via  99d3a8836dd81fc461d759b4bf42ca016f9cc8b7 (commit)
       via  139bbb9ff70b74b32bc69b4891f68409283a3654 (commit)
       via  463123d5b32abe74c6cde719727384ad541d4f59 (commit)
       via  64b6a2741af979d3a7e21c366d45e8de9e30d10a (commit)
       via  3812d1635b418f730a45fefe56faaf0b44abeec9 (commit)
       via  f1acdbea61682ada6ceeae640412cb7421f73d54 (commit)
       via  ee19c9ab609e04726d26166426beb6d58aec7456 (commit)
       via  61692adb2b0cd090c8fb8c81376a28bca099d079 (commit)
       via  58774cba12ec4675e32fa524cfa631bdc690a9da (commit)
       via  fd01ea2b6a778b8f610203b8de38d1677d7f02ac (commit)
       via  4d8d3fed5daf7c342c773883a6611a2fb10a8ea6 (commit)
       via  c46c2da11e33fe94176df7b6d9844731a8e7bf0e (commit)
       via  f20772d1cbc46ffc8858f5a42f172a02b5941ba8 (commit)
       via  3737ec4f8957e7834097fbced3c79cdcdd0e0f09 (commit)
       via  5fd3a2cd21d90027391f14466f737837dd6e6674 (commit)
       via  9e1721f332d283cc8832d6584cff8297b41101c7 (commit)
       via  514c691e1e154121573c1b21104ba60386b1f436 (commit)
       via  4be4afe9b792852be011e6a2af8e30fef76b8b53 (commit)
       via  8bca67a60af40de9f8653b3510f67f35c15c727e (commit)
       via  2f8b9d25f8428980e35ed8f8b2dc44324bc4566a (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 (44b975a641c500c6d2ebdc7b7e3650ebba121d2d)
             N -- N -- N (51d2a33542064e8605302a22214f57f7886c703e)

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 51d2a33542064e8605302a22214f57f7886c703e
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 738cc1106c0273a918350f495a6a746d06fc2e2a
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 2abf6b020090788b03d0d1d9207acd62d6a6abcb
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 5cb12d0a2c75aa9624a1a95f3f98d7ad39ac05f8
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 151feb99c3cd3bb1146e7b5a03e44f4bf2b05512
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 b64c23440e3f41c47269a3dc58ddddd765f38c84
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 0f82438059169006c883ee126cc2957b844f0c19
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 7d98e0058c2fadab7fc139000a5987e1b95cfe56
Author: Philipp Maier <pmaier at>
Date:   Mon Jun 12 12:34:26 2017 +0200

    fixup: return with value in void function

commit 39f3b1109d4b3463b44ac7b3401a03a16166edba
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 778e14a51e28294e2e4f4c869c01ec177713c263
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 7a36bbad99e4cdbd5c081a5db62663aca3aee191
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 41c0e21364974d4dca2a28c3c70dec76a1c9269e
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 456d3c44d1adf0ffe0f9684f57bddf7575479e5c
Author: Philipp Maier <pmaier at>
Date:   Thu Jun 8 17:00:31 2017 +0200

    cosmetic: fix typo

commit 9b5dee4e33fc432898ecfe490e28e0748dea83c9
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 21521acd3f9147db01fde7729181c26769efdc77
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 cf04ac42b1981805b028ea02d42456d53299e62d
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 d7bf0dcae8f8e6b2ade7032057dfed5601a3cb4b
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 b8012aad098444a83014d40a4a84b62a4be4c59a
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 188a804f6df55a66185054e664d6b3a998e7a371
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 1728a6eb188a887a636f3eb8a01a6b09ad2515f5
Author: Philipp Maier <pmaier at>
Date:   Wed Jun 7 18:19:53 2017 +0200

    cosmetic: fixing coding style

commit 277ccecb679c47dbcfb694c490117c541b4be47e
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 8b0d8a97fb5cddb718c0b35af02bbcfe4599bdc5
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 fabe468dd47ffd72a3ff2b6387422d304b178665
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 926f84a2a33432091fffc22a6166fbb6df2920e5
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 9f15ac5ba06c91086626eff4855848ee80b56d44
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 dfe085d979ba8b7266a6c66ecb13bf5a11a8d86f
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 e818b91729de56db7643c0961f810c1652f65701
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 805b83a1ef41bbc1d0d6c944e949dbbd33fcfc75
Author: Philipp Maier <pmaier at>
Date:   Thu May 18 16:20:18 2017 +0200

    fixup: Hexdump for incoming unit data was missing

commit 8ac978bd64ba94b012ac2ab2fd47378cd580b1c8
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 23b5ace90ed9d141237873db9e18e54e65f62c4f
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 8d49f40280260fbc2b16490e1a11b4f38b5d066e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 11 14:31:35 2017 +0200

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

commit 832a69181b68c00247c1c1c55225d5278ef705d2
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 50f36fe4094c8937d1c775cb1aa2ccaa83290820
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 76174d9dd94bb88ae63e616e84ae58b9f290e92b
Author: Philipp Maier <pmaier at>
Date:   Wed Apr 12 15:19:45 2017 +0200

    WIP: Integrate AoIP into MSC

commit e3aca93630e7a4572bd0459115b25348e1840c0e
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 0923fc6707ea35776ad8c37a6d490ac3408dd274
Author: Philipp Maier <pmaier at>
Date:   Wed Apr 12 15:26:04 2017 +0200

    WIP: Integrate AoIP into OsmoBSC

commit 22593b2cef43bceafe7727f893be4657f949489f
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 99d3a8836dd81fc461d759b4bf42ca016f9cc8b7
Author: Daniel Willmann <dwillmann at>
Date:   Thu May 11 17:50:04 2017 +0200

    examples/sgsn: Use osmo-hlr with auth-policy remote by default
    Change-Id: I28502ab88cb73d407c8b503d8b28491e909ad194

commit 139bbb9ff70b74b32bc69b4891f68409283a3654
Author: Daniel Willmann <dwillmann at>
Date:   Thu May 11 17:23:11 2017 +0200

    contrib: Change systemd requirements so the services connect properly
    Change-Id: Id5bfbcd0d906d1aa9c2de9cb7a0e7d0053ea2375

commit 463123d5b32abe74c6cde719727384ad541d4f59
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 64b6a2741af979d3a7e21c366d45e8de9e30d10a
Author: Daniel Willmann <dwillmann at>
Date:   Mon May 8 13:04:49 2017 +0200

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

commit 3812d1635b418f730a45fefe56faaf0b44abeec9
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 f1acdbea61682ada6ceeae640412cb7421f73d54
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 ee19c9ab609e04726d26166426beb6d58aec7456
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 61692adb2b0cd090c8fb8c81376a28bca099d079
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 58774cba12ec4675e32fa524cfa631bdc690a9da
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 fd01ea2b6a778b8f610203b8de38d1677d7f02ac
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 4d8d3fed5daf7c342c773883a6611a2fb10a8ea6
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 c46c2da11e33fe94176df7b6d9844731a8e7bf0e
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 f20772d1cbc46ffc8858f5a42f172a02b5941ba8
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 3737ec4f8957e7834097fbced3c79cdcdd0e0f09
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 5fd3a2cd21d90027391f14466f737837dd6e6674
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 9e1721f332d283cc8832d6584cff8297b41101c7
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 514c691e1e154121573c1b21104ba60386b1f436
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 4be4afe9b792852be011e6a2af8e30fef76b8b53
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 8bca67a60af40de9f8653b3510f67f35c15c727e
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/contrib/systemd/osmo-msc.service          |  5 +--
 openbsc/contrib/systemd/osmo-sgsn.service         |  3 ++
 openbsc/doc/examples/osmo-sgsn/osmo-sgsn.cfg      |  3 ++
 openbsc/include/openbsc/gsm_04_08.h               | 14 --------
 openbsc/include/openbsc/gsm_data.h                |  3 ++
 openbsc/include/openbsc/gsm_data_shared.h         |  2 ++
 openbsc/src/libbsc/bsc_vty.c                      | 30 ++++++++++++++---
 openbsc/src/libbsc/bts_ipaccess_nanobts_omlattr.c | 14 ++++++--
 openbsc/src/libcommon/gsm_data.c                  | 40 +++++++++++++++++++++--
 9 files changed, 89 insertions(+), 25 deletions(-)

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

More information about the osmocom-commitlog mailing list