openbsc.git branch neels/mgcp updated. 0.15.0-599-g961766d

gitosis at gitosis at
Tue Oct 25 01:12:16 UTC 2016

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/mgcp has been updated
  discards  ae8cbcc98f13e7eaa7dace0702b73be207a44148 (commit)
  discards  2757fe17a5b4ab3e74f1a935bb8e57f0de2156e0 (commit)
  discards  59b437e9b2d64d4f10691a9cdfca7f655c390f11 (commit)
  discards  43de6cfe144e6452784eaf8092255f7a35a9d191 (commit)
  discards  fdb57201ddc9a046a89324feb9beca4e4a3c2bef (commit)
  discards  da183ca52e0ec58f0ae8884d0d2e553cbb17b48f (commit)
  discards  912bd261d676407f265dd3f3679073029550c364 (commit)
  discards  02ba97c985338b995eb9303aa9f8ad8c7fdd6665 (commit)
  discards  a952a62b29e1f206a7ba3359561cd1981b64ab87 (commit)
  discards  dc782f367529643701f03167d734781e54ab4b0b (commit)
  discards  82a42fd31552f5bddcbfad70c3b8ed7043b8e3a7 (commit)
  discards  57cfe378c9427f64ea2ba6c0df8a498dd722652e (commit)
  discards  091e730d063be931c8ab1ac3d22c3b20ca5c98c2 (commit)
  discards  852326d596bbf3392979ff11f7873003083c9e92 (commit)
  discards  bd9a5ffad1039ef55b52ceee80a89664c4406784 (commit)
  discards  909abdaccfa2ecbddd7373840a3980765d856a36 (commit)
  discards  c5e18ab73d281cf98b8ad16d3857751adda7e5f1 (commit)
  discards  b8488905a39a4eb71136a93fdb57302af54be317 (commit)
  discards  132cef4f84aeb4f4ed12b25b6154effb3055ff45 (commit)
  discards  b906c82e11a0b55631243c047447fc2bc9c6b9e4 (commit)
  discards  4921cb45873ae6bffcc4a43d46d68eafd238f042 (commit)
  discards  281d5710ad8177816c0f7877bcfa629e3f53f0d4 (commit)
  discards  65a6059d0fe827551ff03f41e5e20077c53e3f59 (commit)
  discards  62f4fa916bf5cfb9c7044034e0c32923f88570d4 (commit)
  discards  58cc07e361a5474fadf7f2c97bcaf279ae1cf729 (commit)
  discards  2f9004630451efd9dc94490cc514f56dfa77fa38 (commit)
  discards  993c58e8a98bb15e82861cfcb1081ebab5d40812 (commit)
  discards  0ccc0abd212cf90d8361cfa78e71dcf306968ad4 (commit)
  discards  79ee791a80a5ed34e1c6681103ae4e30dcbe1da0 (commit)
  discards  1fbb35db9d5b7f2fd9626dc0eb8187410baa5e74 (commit)
  discards  fe238e80526acb7e08bba9659782bcff5e2a3e12 (commit)
  discards  bd3df168781a63af293dcb4b7ef0d9aeaeebc81a (commit)
  discards  0f9f921ee7087cdff1d9e2e88dc0efdc59986dec (commit)
  discards  282a893cc27fc97eb34cf2fd92a84b4c2637605b (commit)
  discards  257eb2d6a14d4c6c06e1eb5a9b9ea6f457c502c8 (commit)
  discards  aeb1c6e3c22dee454fc00ef3443c01c4171ad635 (commit)
  discards  988839743f75ae380e7b1f919c8f7042b5f9f043 (commit)
  discards  db7862b53475cdbf5ac99576b3e84eb42903a4bf (commit)
  discards  9f6de7622518bf0586893a77f4dbc4c369d6df3f (commit)
  discards  fe298b07c30629154bd9191021b3898b40902cbd (commit)
  discards  7f8d3f679d1af06f75a49965e731670c4cd52bf0 (commit)
  discards  4e7549dd596938304f14ed2a2a0dada9137759ee (commit)
  discards  3294e04cb7e0dd699f8b1a18944fbdf14d041ffe (commit)
  discards  ab63bba3d737c785a06434c5d9273652a0e171ef (commit)
  discards  6055cf44ef1558257eabf83a4ef31d6c7f5390ea (commit)
  discards  196c31a10857ba21d04f98cde10497417b356779 (commit)
  discards  a5ad00a1011cf0ad30b6561ca7adaf9baaab55dc (commit)
  discards  6611366daa93759ef30e545cab69d69d4ab274dd (commit)
  discards  eb1eca19f0a2dc94b5ea0755fc3c14c3d0e81d68 (commit)
  discards  5405b8070e302d71c18841ae959ee6f0babd3aa8 (commit)
  discards  6eb7bc97c505204509a0993425184b5bf9ec1c64 (commit)
  discards  c3b73967353aa435ec08c0b4ac1174145e6dd96e (commit)
  discards  e866918b245f8dda354b1585251ab5b8ecee39ae (commit)
  discards  5c92d393f12587fe7ee39c208198cecad66ff138 (commit)
  discards  c5b7437f63f051d0d982b965f139331194cfc7e5 (commit)
  discards  681b7db18cf16000d909dfdb770225bbc879ce3f (commit)
  discards  b1bf70467146adaa0b0dff245bced7b2a382b946 (commit)
  discards  ab19fba226ab69ab5946820dab794668bddebc4a (commit)
  discards  5d93c05617dcf202474ad45ce74e36f5aa551786 (commit)
  discards  9d7f1e2b2a8f5445da6098c3d636823f55e9c078 (commit)
  discards  3d0b1d048d30de194800eb7deab7f81238c20bc1 (commit)
  discards  d7378f0eed15f450d083f7c6b12474afbb689a6e (commit)
  discards  e8ff4119c57cc0c35e11c74e32b5bfb5b88873a4 (commit)
  discards  ac37d10cb470a93dad0f56c1849d681df0b520a1 (commit)
  discards  344035a5c8d40fa37917cb9c8c94741ff4eeb549 (commit)
  discards  f9b961c07cfc02d2e5c520a6d0374259fda7d63a (commit)
  discards  ad1743d3db0836aa9745d5a2bfa8405eea14daa9 (commit)
  discards  fcf45187c89f4406f8f8ef452bc648cf8c70da93 (commit)
  discards  7d7200d7bb7b074873f6f77d52c25483bf75bbeb (commit)
  discards  638b32abe1674b14520699bba5ce29b2649754a6 (commit)
  discards  f9cc195fbb0771988c22eaa47a4d3992137165de (commit)
  discards  83e424684edde69970ac6551fce45b01bcedf601 (commit)
  discards  2df43af6b53132776f0125148c6f176af4d5b8f3 (commit)
  discards  f0e3ef1a022eca3897feb658b4f44bc7e85b95f9 (commit)
  discards  d4fb6523aa40a357d1b73144e7d620cebf0da5c8 (commit)
  discards  a9cc71442119f7407f6d4353507cc824ffaf6c3b (commit)
  discards  e92d318c0ebf5977115355eb18a2f6fe79cb5494 (commit)
  discards  1ff3c8e97db5b358d2aa87f62b46482d074385d9 (commit)
  discards  d5f5c5d221f9fce77f06bf3534685c18814e8baa (commit)
  discards  3b68384426c9e61429a1077f52d7968d99580dfe (commit)
  discards  05a26ed241c3ed443a360dbc6e108ed94e00d3d0 (commit)
  discards  5ceb448adff1b938c6df63698c13967c4f3cfabb (commit)
  discards  8d8b3d87e79063131390f71d6dc508f6a4f213bf (commit)
  discards  5e658e59cc21294895f942c56d3ac140b2a2784a (commit)
  discards  c94de839a6dbf8888041fac8c34a159b048a0e76 (commit)
  discards  49fb46db97bfc733cfc34dc189f87833803a2a68 (commit)
  discards  a94848be4dd47c8f0183062aa83cc6c9dc3b200a (commit)
  discards  5cac7f7345c15274646b447de760553d170a95be (commit)
  discards  b6583d677f15a3067732e1fa2f6fa958bc0a1fb0 (commit)
  discards  ddc180e6cd58a7a5da495846cd5330dba6f0da76 (commit)
  discards  cac1301136b284c4e97b4226cf1e0bedd12079fc (commit)
  discards  8f8cfc4f60393bec429b9d4da7a533d35b7be1e4 (commit)
  discards  f368a20517811bc05b7cea2b3c342a97135f5320 (commit)
  discards  02f70398697d6ebc6ff9f818fe61be224f61346f (commit)
  discards  b88507ee8e319f2b55b23f67c56066dfd467347d (commit)
  discards  c9c9bb99f3c0ae492509eaccc877908c3ed64091 (commit)
  discards  116fb3596c0ed56eca0ec9113f5dc60dc8664299 (commit)
  discards  e1a4aca11ddde99fb667b2ad5343b284327e98a4 (commit)
  discards  4691a856b8fd45a74a437c0fced4e10faa17631c (commit)
  discards  0f1a9418c8cc9cc1bd2a5240151271976c6bd21f (commit)
       via  961766d743e2378d3e858ee0598b766c18f7000d (commit)
       via  5182ffe95c88d3313634cca2fb8e015050f6a517 (commit)
       via  0f76f3ec249e95d322ad8fecf4dfc75f7b267570 (commit)
       via  c6cd9fd5120369ff889650101b011e87b4da725c (commit)
       via  07e3ad07303b76671728947887e3278bf79d1cf4 (commit)
       via  79acc9757368ebb9f4bf0cf42f88bfb5a5786f5d (commit)
       via  5800914777d3df6ac2dbad78f0e0c5212731604d (commit)
       via  62c903dfbccde4c3d049df3edcae71745ccb5ce5 (commit)
       via  634c5227fb3c8d0eca1352749d870b811bc220ac (commit)
       via  4b8e88c0542697fa1e9232d143db114d24175c70 (commit)
       via  932a66b7793fb9dc9cac9781d9d32cbea4359112 (commit)
       via  83b9f6919007278e61ef94499e1ec9c01d4417d8 (commit)
       via  d57acf7e48b46ba603f33b064d6b3dac8a26f4a3 (commit)
       via  cae0a96d2140c328453d0daae307ae39fbc3c2c4 (commit)
       via  69d99e015212a3fee110c8dd456336b0cf316c61 (commit)
       via  6fd1c5b303b1ef204a071ea3a7d217184b1c765d (commit)
       via  ec9e1eeec5bd073d7a553530adf01b57bc059432 (commit)
       via  dd7ea64af6b5ee433161c33e5cf7072c26c768ff (commit)
       via  f1a215bc191ba8eaaf37f3f75b51a881e602c403 (commit)
       via  6c9c15a003ecc947ff0dbce57240a4b4ce6c1466 (commit)
       via  e396d9e1293edbdbf1db9941e1418d4c93aa7bd9 (commit)
       via  682097da099945998a5974a9f9b1f4c4b8cb88c3 (commit)
       via  2ae762c87d1e71e726863cb68515db4d0c0f6ae4 (commit)
       via  5a37069b3d3b191678b0d9e4ba2bf9ad303d161f (commit)
       via  f57e33ec65801ebfb20d8dd87f8ac8fffc866332 (commit)
       via  06e93abc03750dc2cde1d998d3f7f9991424563a (commit)
       via  c1cabd93afe1fab045fec5521bd2ea5c13b9a91f (commit)
       via  c7df75b5c3283d64ab1174b75370213f32fe28ce (commit)
       via  28930a569469a708584ddf2680665dda70a02808 (commit)
       via  eefa2297e53cb8c5ade26ff54e604006dcf3adfd (commit)
       via  8da248fe3f5d806b7a8a59ef30ae1c0641c1b8cf (commit)
       via  95cd48181d1faec3c0343daad85037e89d6c3c5f (commit)
       via  6e84b53ec4c747e4a9481d9d21b6665dda3549d2 (commit)
       via  4ee5817e7b13574a6a775759dfc2774197ffcbc9 (commit)
       via  c86d1a0934b2cda12a91f82dc4f0c957850542ff (commit)
       via  26c3511561a7efa22fe39fef749cc85e7a6fcfd3 (commit)
       via  edf8debeafe0044c8e4e834606f74097cc532962 (commit)
       via  91b1ea7eec46f7fa2ac1ff1f89e7b2ca7b22449e (commit)
       via  198320234c4ec9d6fc09ce736ee5236a976b4f69 (commit)
       via  faf52f24f8127f4e28bbdae3e673ae860aefa5d5 (commit)
       via  ea47d3b4be48989a5bb9797f7839f7f7db86b6bc (commit)
       via  2a31e6a1127b21a7b1cbd1d8004128ac721664c9 (commit)
       via  6af527864e055ba3afebd5bdafe080090b1eac87 (commit)
       via  992430093d27b7fda255f13682bc99df415465a7 (commit)
       via  320a6de5c7a4bacc4298dbb6e164a33b68940b85 (commit)
       via  e526a7423811748e6a9f2011c7d7ae11dcac6f96 (commit)
       via  9f7115a4a2b1e3af8e11d4e6cd548e48639ee500 (commit)
       via  8df8b32ab9528c79d352b60790008fcf4c9bd087 (commit)
       via  3abc2b8e5483f105b2ae64ab2520e49098479f26 (commit)
       via  c3c103280296ee6c118c75a77924850cee18f485 (commit)
       via  4026b4a469b36bdfd1c053ae668307a3e4dc44da (commit)
       via  9f159c515cdc2180df8943a8a845f95afad00ff2 (commit)
       via  de7335bfd7dc503a104b21bb13b587a625bfb5f5 (commit)
       via  8e4ad58a591e8c3f90a7b4b7d0626c5f4f8aacb6 (commit)
       via  88d128560f1a0fa41ecb25abb0d06b63ffe698df (commit)
       via  f48178f3351ee07f3f6e9585bb8d0ca2b9592165 (commit)
       via  205f42dd42396ff808dafa30d7ec367d46cb2fdb (commit)
       via  d86d744279b430250e4c1be176c011eb080ce08f (commit)
       via  d8e44ecbf18f823556f30eddc8a0adf907586e2c (commit)
       via  a5065de2a2a772f08b4eabfd7782870060175cfa (commit)
       via  e2bf9ffac45fa943104da6056caed3155ebfb637 (commit)
       via  384dd43f9bef35b3fb755236cb811c4acf6cbbad (commit)
       via  696da2bdca001d53e5cba955d89e8da978665775 (commit)
       via  1019de3f369388320ae1c85b190740728d6df508 (commit)
       via  98322fbf97b4f482f1fb2dd5e8fa74a5afe572ba (commit)
       via  7404112be6f7c8a6f795354db96b8043e8b024c3 (commit)
       via  f8372124451871f6b9ceb1924a6fcfa3a30ab2ae (commit)
       via  6993a4012820542b76385229b8d9d995e1838b3d (commit)
       via  165a84b1239e0b365826145d55cc08562139f719 (commit)
       via  28cbdcdb9a69dee4451bd909cac873f8c1de1b5a (commit)
       via  7b3d9c5677735c02defa73b769c783ed5614207d (commit)
       via  92a13c4c75282eb59c2724718cf9e9632321439f (commit)
       via  a87f2d4c885344510be669e2ecd69335cac653ee (commit)
       via  6d46d7ffff282a48fc8d92ab09fc0bd7dfe59560 (commit)
       via  d6c5b1ba34ee2ef9ee5afc039cf6adc72541f166 (commit)
       via  a77eda41dc5783156af94e683dbeeac1b0239ee6 (commit)
       via  8470f8b834fab37cb21832e73a8d00784fb730ba (commit)
       via  ea79926e32ce7ed1775dd840b0b0263e6ddfe837 (commit)
       via  9547822015ddb38c2a9602efa37e9399af383a52 (commit)
       via  b639ab9f66490c0f45c7dd3fe02ed4dc71f1676f (commit)
       via  6d6050e477df21ce19cb65ff6c97c1848b1acaf6 (commit)
       via  c8e04ff34a3ba52b9bb90f2b117c43cbbe828645 (commit)
       via  38e138189ae84f14f9682458298f14dcec10cd7b (commit)
       via  3b3c2f8eac0dcd7f62226a2178d17bcd63c3605b (commit)
       via  371b503c73babe6d6aa8999855e2e08367a08908 (commit)
       via  c5d39f9cb350aa1f628e9fc7d3b731c06e168a3b (commit)
       via  749187b73803cce6d0afb92fbc78f87882b87fd1 (commit)
       via  75f403f64d8efafec14f95dc32bcc27271145b9a (commit)
       via  aeb4a5f1d54191ab64648585ead32e85380f4dc3 (commit)
       via  54f2dbbda383e969053356a0b9f04e2b94a58472 (commit)
       via  b2b8e4261e8b30e37f6ebd794a7376e2d2f62789 (commit)
       via  fcacb5620a7bda2b0ec0681fb2b370f2a3d4efaf (commit)
       via  a4c27ff472d3cf46f3b824a26a14ae606f3164b1 (commit)
       via  166bfddd57c181b386559a209703cfabd684e8cb (commit)
       via  603efebb0540ef32ca44d42a3faa53dcbcf585ba (commit)
       via  1f7b7fce397273340a6cdb9192e2dd729490efa2 (commit)
       via  71452813eaaa46bd60f56d504ccb82ee39e606e4 (commit)
       via  2097eb40c77e0387e63568a9529d77ce4457443d (commit)
       via  27bca2c3e9a069272c54522e48dc9637ce9078bf (commit)
       via  71b227f47b24c458b29a852e9fa1c3af67595212 (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 (ae8cbcc98f13e7eaa7dace0702b73be207a44148)
             N -- N -- N (961766d743e2378d3e858ee0598b766c18f7000d)

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 961766d743e2378d3e858ee0598b766c18f7000d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:36:26 2016 +0200

    mgcp hack: rtcp: pass back a sender report as well as a receiver report
    Change-Id: Ieaf5d70c9749f587a8a7feda2684d11b8967986e

commit 5182ffe95c88d3313634cca2fb8e015050f6a517
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:35:57 2016 +0200

    mgcp hack: modify the ssrc id
    Change-Id: I443fc676071cc7ee8254777e4c74553b35341158

commit 0f76f3ec249e95d322ad8fecf4dfc75f7b267570
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:33:57 2016 +0200

    mgcp hack: don't change payload type when passing RTP thru
    Change-Id: I9c43704a4c1e26d434c0d7e7ee370b2c21fb3399

commit c6cd9fd5120369ff889650101b011e87b4da725c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:32:10 2016 +0200

    mgcp: log payload type change
    Change-Id: Iee5fa667dece12174b1933345c1ed640a264ed97

commit 07e3ad07303b76671728947887e3278bf79d1cf4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 18 20:21:07 2016 +0200

    mgcp debug logging
    Change-Id: I06a060244e91080680e88551e870f0058711921f

commit 79acc9757368ebb9f4bf0cf42f88bfb5a5786f5d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 18 20:20:51 2016 +0200

    mgcp parsing, set port from mgcp response
    Change-Id: I90e2c1aa7575d5fa6e0374f5022cbb25fc3f7699

commit 5800914777d3df6ac2dbad78f0e0c5212731604d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 18 18:38:59 2016 +0200

    mgcp parsing, mgcp test
    Change-Id: Ibe2ab17b3fa3a506a2e841ba979ea4175e3a21e8

commit 62c903dfbccde4c3d049df3edcae71745ccb5ce5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 14 17:56:17 2016 +0200

    mgcp: handle responses from the MGCP GW
    Change-Id: I5c0493feaec775461b5a017c36b93cc2ad63c896

commit 634c5227fb3c8d0eca1352749d870b811bc220ac
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 02:53:55 2016 +0200

    IuPS: cosmetic: explicitly check RAN type; move comment
    Change-Id: I8375ba42dd47d7ccd9ce9290767d6f8653a23b94

commit 4b8e88c0542697fa1e9232d143db114d24175c70
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 01:39:25 2016 +0200

    IuCS and IuPS: add VTY config for RAB Assignment address kind
    To accomodate the ip.access nano3G without having to recompile, make the
    RAB Assignment's Transport Layer Address IE's format configurable, in both
    osmo-cscn and osmo-sgsn.
    The long term perspective is to somehow detect which address encoding a given
    3G cell prefers, but for the time being just configure it globally and set each
    ue_conn_ctx to the global setting upon creation.
    Add VTY command to iu_vty.c, with args passed to iu_vty_init() to insert
    at an arbitrary VTY node, so that it can be used both for osmo-cscn and
    osmo-sgsn. Add generic iu_vty_config_write() to write out the config.
    Call iu_vty_init() from cscn_vty_init(); cscn_vty_init() is in libmsc,
    hence linking of osmo-cscn now needs libiu to come after libmsc, so move
    that further down.
    Change-Id: I93728314742b327336f3fb6de98e6457f687e1f9

commit 932a66b7793fb9dc9cac9781d9d32cbea4359112
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 02:55:31 2016 +0200

    IuCS, IuPS: move flag to use X.213 NSAP addr into ue_conn_ctx
    The future perspective is to remember the preferred RAB Transport Layer Address
    encoding for each 3G cell that is connected, so store per UE conn instead of
    globally hardcoding.
    Add rab_assign_addr_enc member to ue_conn_ctx. Thus the iu_rab_act_cs() and
    iu_rab_act_ps() functions no longer need the explicit use_x213_nsap argument.
    Add include/openbsc/common.h in order to define the enum nsap_addr_enc, in a
    separate file to be able to easily include it in all of libmsc, libiu and
    gprs/* without creating include cycles.
    Set the rab_assign_addr_enc when an MM ctx is created for iu, and whenever the
    ue_conn_ctx for an Iu MM ctx is updated. This looks a bit clumsy so far, the
    hope is that there will be a nice way to setup the ue_conn_ctx prior to that.
    Change-Id: I49bb5736df7bdfdd55d3e7b74ee559595cfd2f7d

commit 83b9f6919007278e61ef94499e1ec9c01d4417d8
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 03:30:48 2016 +0200

    sgsn init: pass sgsn_config pointer to sgsn_vty_init(), not sgsn_parse_config
    It makes sense semantically, and prepares for an upcoming commit that uses
    the internal global config pointer in sgsn_vty_init(), which would not
    be defined yet without this.
    Change-Id: Ie4cf1c0a1c9e6330a134ff4b7b2e6d5699c12bd7

commit d57acf7e48b46ba603f33b064d6b3dac8a26f4a3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 01:29:33 2016 +0200

    iu: sort out confusion around asn_debug and asn1_xer_print
    Before, I confused asn_debug with asn1_xer_print. Have two distinct VTY
    commands and fix documentation.
    Put the asn_debug and asn1_xer_print implementations in iu.c.
    Since they are globally defined, don't pass a pointer to iu_vty_init()
    but just use it directly. Might be considered less clean, but is also less
    Change-Id: Iccbadfe1585ba224f74cdfb5273b5ce29b6d78f0

commit cae0a96d2140c328453d0daae307ae39fbc3c2c4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Oct 12 01:48:55 2016 +0200

    iu.h: add missing includes and type defs
    So far it was included only in files that also include all needed headers,
    but make it so that it can be included on its own.
    Change-Id: I08a756031b995bd01a6e15c678b845fd98de960b

commit 69d99e015212a3fee110c8dd456336b0cf316c61
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 11 02:24:53 2016 +0200

    IuCS: rapidly release connections
    Do the same as we do in 2G: release the connection as soon as nothing else
    is pending for a given subscriber.
    Before, osmo-cscn would wait for the UE "to get bored" and send an Iu
    release. But the CN should stay lean on connections. Also, 25.413[1] in section
    7, 6th point states:
    "While the Iu release is managed from the CN, the RNC has the capability to
    request the release of all Iu connection resources from the corresponding Iu
    So far we did not manage Iu release from osmo-cscn at all.
    Use the same mechanism we use in 2G: from msc_release_connection(), just before
    freeing the gsm_subscriber_conn, invoke a CN initiated Iu Release command to
    the UE.
    This works around OS#1816 ("USSD only works when IuCS is released", on nano3G),
    because the Iu conn is now released right after every signalling, so that
    typically no two requests will use the same conn.
    In iu.h/iu.c, add iu_tx_release(), absorbing almost all of the code from
    Add stub to db_test.c, necessary to build it without linking libiu.
    [1] 3GPP TS 25.413 v12.4.0 Release 12 / ETSI TS 125 413 V12.4.0 (2015-04)
    Related: OS#1816
    Change-Id: Ic12bd6f3666f6fd42bd6d9fdae1c93abee3b6786

commit 6fd1c5b303b1ef204a071ea3a7d217184b1c765d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 11 00:50:05 2016 +0200

    IuCS: don't remove Iu conn until release
    Don't remove the gsm_subscriber_connection without an Iu Release.
    From the 2G paradigm to close a subscriber connection as soon as nothing else
    is pending, osmo-cscn frequently calls msc_release_connection() to see whether
    a conn has anything pending, or discards it.
    In 3G however, we so far don't actively release IuCS connections from the MSC
    side, but wait until the IuCS is released from the UE side. So the conn is
    often discarded even though the IuCS stays open and valid, which confuses the
    situation: before the UE releases a bit later, we would try to page the
    subscriber unsuccessfully, because the UE expects to already be connected.
    To first fix the discrepancy of Iu vs. subscr release, never discard
    gsm_subscriber_connections when msc_release_connection() is called.
    This creates a "lazy" CN that keeps connections open as long as the UE will
    tolerate. It is really fast in sending many SMS in close succession, but is
    certainly a bad CN design choice: we should rather stay lean on connections.
    A subsequent commit will change this, but I decided to keep this commit as a
    reference, for when we'd like to test situations that should re-use an
    established connection.
    Change-Id: I012378cfa432d791146db387554ec1909de05297

commit ec9e1eeec5bd073d7a553530adf01b57bc059432
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 11 01:05:22 2016 +0200

    IuCS: detect whether a conn is already secure
    If a CM Service Request is received on an already secure IuCS connection,
    we so far didn't notice and started to authenticate again. The UE would
    readily renew its authentication, but then our state got stuck since
    ciphering was already established. Instead, don't authenticate again when
    integrity protection is already established.
    Change-Id: I3c01fe58276ba0ad918f2cd30cc3dca7c6663e68

commit dd7ea64af6b5ee433161c33e5cf7072c26c768ff
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Sep 20 18:18:26 2016 +0200

    mgcp dbg log
    Change-Id: I56fda48edaa92abfc6e3886cdfce733bb0686f73

commit f1a215bc191ba8eaaf37f3f75b51a881e602c403
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:00:16 2016 +0200

    sgsn_ranap_iu_event: handle some events without valid MM context
    Change-Id: Ia7e74087d56996104b6d3935b1cf12166ff67f3a

commit 6c9c15a003ecc947ff0dbce57240a4b4ce6c1466
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Sep 19 18:30:49 2016 +0200

    IuCS: store assigned rab_id in gsm_subscriber_connection
    Change-Id: I7fda4304631fc24bbd1bebe911b8403a942fcf53

commit e396d9e1293edbdbf1db9941e1418d4c93aa7bd9
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:28:35 2016 +0200

    bridge calls via mgcpgw
    Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a

commit 682097da099945998a5974a9f9b1f4c4b8cb88c3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:29:30 2016 +0200

    also do call assignment for MT calls, upon Call Confirmed
    Change-Id: I863fa73948f61aaffd7f4472f3abc3e44228e31f

commit 2ae762c87d1e71e726863cb68515db4d0c0f6ae4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Sep 7 13:39:07 2016 +0200

    IuCS: implement msc_call_assignment() for IuCS
    Send IuCS RAB Activation upon MNCC_CALL_PROC_REQ.
    Implement function msc_call_assignment(): decide between sending A-iface BSSMAP
    Assignment Request or IuCS RAB Assignment Request.
    Implement iu_rab_act_cs() to send the IuCS RAB Assignment Request. The IP
    address and port of the MGCPGW sent in the RAB Assignment are still hardcoded.
    The A-interface extension is not implemented yet.
    Declare ranap_new_msg_rab_assign_voice() to avoid including
    ranap_msg_factory.h, which would require adding ASN1 CFLAGS to
    The mgcpgw_client as well as some more osmo-iuh functions are now linked from
    libmsc, hence add some dummy stubs to libiudummy and db_test.c.
    Change-Id: Iaae51d1fbbfc28fad1c0b85e161d53d80a420a19

commit 5a37069b3d3b191678b0d9e4ba2bf9ad303d161f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:21:10 2016 +0200

    cscn: add mgcpgw client (with dummy read cb so far)
    Store the mgcpgw client data in struct gsm_network.
    Initialize VTY and bind the client.
    Change-Id: Ifc4efb1ca44fa34c29bf23b35addb54155296d68

commit f57e33ec65801ebfb20d8dd87f8ac8fffc866332
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Sep 7 13:39:07 2016 +0200

    libmgcp: add mgcpgw client API
    Add an API to send MGCP messages to an MGCP GW, from the perspective of
    an MSC instructing the GW to setup RTP streams.
    Rationale: the mgcp_protocol.h is mostly for the MGCP GW itself, other
    implementations forward incoming MGCP messages. So a simpler approach for an
    MGCP GW client is useful.
    Add general VTY commands that can be used to configure mgcpgw_client.
    osmo-cscn is going to use this to route RTP streams (for 3G at first).
    Change-Id: I6fe365c4c89207f2172943cc456b508a207b1135

commit 06e93abc03750dc2cde1d998d3f7f9991424563a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Sep 7 13:39:07 2016 +0200

    libmgcp: add value strings for mgcp_connection_mode
    Add file mgcp_common.c to implement the value strings for the
    Add in a separate file because of the upcoming mgcpgw_client.c implementation,
    introducing a file that contains implementations commonly used in MGCP GW as
    well as its clients.
    Change-Id: I6fe365c4c89207f2172943cc456b508a207b1135

commit c1cabd93afe1fab045fec5521bd2ea5c13b9a91f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Sep 20 18:16:35 2016 +0200

    libmgcp: move mgcp_connection_mode to public header
    mgcp_connection_mode will be used by the upcoming mgcpgw_client.h API.
    Change-Id: I7a3f8905723320d968f1a53c1036904107b4fb2d

commit c7df75b5c3283d64ab1174b75370213f32fe28ce
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Sep 6 20:08:58 2016 +0200

    IuCS: cosmetic prep for msc_call_assignment()
    Rename gsm48_cc_tx_call_proc() to gsm48_cc_tx_call_proc_and_assign() to mark
    the place where the A-interface will send a BSSAP Assignment Request / where
    the IuCS-interface will send a RAB Assignment Request.
    Add function msc_call_assignment() to decide between A-iface and IuCS
    assignment, to be implemented in subsequent commit.
    Change-Id: I0695e233d57d13658793b0e63bb7c3ff224909a0

commit 28930a569469a708584ddf2680665dda70a02808
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Sep 7 17:52:32 2016 +0200

    IuCS: send RANAP CommonID
    Add libiu function to send a CommonID message down a UE connection,
    iu_tx_common_id(); add also a corresponding stub to libiudummy for linking with
    Add libmsc function msc_tx_common_id() to call the above. Add this mostly to
    clearly indicate in msc_ifaces.h that libmsc is calling out of the MSC; also
    to do conn->via_iface checking.
    Call msc_tx_common_id() after ciphering is established, in
    _gsm48_rx_mm_serv_req_sec_cb()'s GSM_SECURITY_SUCCEEDED case.
    Change-Id: I576ddd5bbabfc989149debd2f8a9743db6d26043

commit eefa2297e53cb8c5ade26ff54e604006dcf3adfd
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed Aug 31 15:40:18 2016 +0200

    cosmetic: msc_handler, bsc_handler: drop extra whitespace
    The extra ws made me not find these lines when grepping for 'dtap ='.
    Change-Id: I45e5c9e7df4704546872aab15adf407298943435

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

    SGSN: Don't indicate GERAN in Iu mode PDP CTX ACT REQ to GGSN

commit 95cd48181d1faec3c0343daad85037e89d6c3c5f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Aug 18 01:06:18 2016 +0200

    cscn: add cmdline error message
    Change-Id: I30c13a604160268756b7413f1733f92300eb241b

commit 6e84b53ec4c747e4a9481d9d21b6665dda3549d2
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 13:21:55 2016 +0200

    cosmetic: remove legacy comment from gsm0408_loc_upd_rej()

commit 4ee5817e7b13574a6a775759dfc2774197ffcbc9
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 13:20:54 2016 +0200

    cosmetic: make gsm0408_loc_upd_rej() static

commit c86d1a0934b2cda12a91f82dc4f0c957850542ff
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 13:18:03 2016 +0200

    LU counters: count completion and failure, not messages sent
    From a human admin viewpoint it doesn't make sense to count the messages sent:
    When we use TMSIs, we first send a LU Accept with a new TMSI, and then expect
    the MS to respond with a TMSI Realloc Complete message. When that fails to come
    through, the LU actually ends in failure, even though a LU Accept was sent.
    In 3G, if a UE sends an Iu Release during LU (e.g. user enables flight mode),
    we cancel the LU without sending any reply at all, so nothing would be counted.
    Instead, count Location Updating results, i.e. completion and failures.

commit 26c3511561a7efa22fe39fef749cc85e7a6fcfd3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:21:52 2016 +0200

    remove handle_abisip_signal()
    Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41

commit edf8debeafe0044c8e4e834606f74097cc532962
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 4 15:35:37 2016 +0200

    gsm0408_clear_request(): actually free the released conn
    By having conn->in_release == 1, calling msc_release_connection() has no
    effect and thus never frees the conn. So, after all pending requests have
    been discarded, also discard and free the unused connection.

commit 91b1ea7eec46f7fa2ac1ff1f89e7b2ca7b22449e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:24:12 2016 +0200

    add iu.h to gsm_subscriber.c
    Change-Id: I398aaa4a7328a58fb0d563725f3bea26482929ef

commit 198320234c4ec9d6fc09ce736ee5236a976b4f69
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:11:39 2016 +0200

    gsm_04_08.c: iu.h
    Change-Id: I624612b5d5cd70770326347634aee2a42ba88945

commit faf52f24f8127f4e28bbdae3e673ae860aefa5d5
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 ea47d3b4be48989a5bb9797f7839f7f7db86b6bc
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:26:47 2016 +0200

    comment on mscsplit, indent comment

commit 2a31e6a1127b21a7b1cbd1d8004128ac721664c9
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:44:39 2016 +0200

    move to libbsc: lchan_next_meas_rep() -- TODO really?
    Change-Id: I4ea799c5fa61f81c404e6ef1b9ac86a8faa1fb49

commit 6af527864e055ba3afebd5bdafe080090b1eac87
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:59:16 2016 +0200

    move to libbsc: gsm_bts_neighbor() -- TODO really?
    Change-Id: I63d4835dc7aabdf176e0ca634a6a4ca527612693

commit 992430093d27b7fda255f13682bc99df415465a7
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:21:58 2016 +0200

    gsm0408_test: use NULL for root ctx -- TODO really?

commit 320a6de5c7a4bacc4298dbb6e164a33b68940b85
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 21:30:26 2016 +0200

    gsm_04_08: remove apply_codec_restrictions() -- TODO really?
    This function is wrongly placed on the MSC level.
    Unfortunately I cannot remember the very plausible details that hwelte had
    back in the days to argue for this change. (Refactoring an old commit that
    fails to explain in more detail.)
    Change-Id: I82623847e652a59a921d2fb142b77cf22420a746

commit e526a7423811748e6a9f2011c7d7ae11dcac6f96
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 02:14:33 2016 +0200

    move to libmsc: osmo_stats_vty_add_cmds() -- todo MSCSPLIT

commit 9f7115a4a2b1e3af8e11d4e6cd548e48639ee500
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 14:04:28 2016 +0200

    include msc_ifaces.h in gsm_04_08.c
    Change-Id: I11be1bdfe6993f89b34319e7d1526c729d6e0cde

commit 8df8b32ab9528c79d352b60790008fcf4c9bd087
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:04:56 2016 +0200

    complete IuCS paging implementation
    Add paging timeout to struct gsm_subscriber. Previously, paging timeout was
    implemented only on BSC level, where each request has its own timeout value.
    The MSC will still send individual requests to BSC or RNC level, where they
    timeout individually. However, the MSC must also have an own timeout to be sure
    to discard stale pagings that the BSC or RNC never replied for.
    Add handle_paging_resp(), copying the few libmsc relevant parts of

commit 3abc2b8e5483f105b2ae64ab2520e49098479f26
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:57:25 2016 +0200

    paging: add todo comments for paging and mscsplit
    Change-Id: I7e72c9db2837ea5edf45f6037cb0288a264d492c

commit c3c103280296ee6c118c75a77924850cee18f485
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 2 15:57:53 2016 +0200

    paging: actually verify subscriber authorization
    Before this, any paging response would be accepted by the CN, without
    checking the database whether the subscriber is in fact authorized.
    The probability that a subscriber would be able to take unauthorized action
    is slim, nevertheless checking authorization status with the database should
    happen before we accept a connection.

commit 4026b4a469b36bdfd1c053ae668307a3e4dc44da
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 2 15:55:22 2016 +0200

    paging: change subscr_paging_cb() into subscr_rx_paging_response()
    Remove one layer of callback indirection in paging. When a paging response
    arrives, we always want to first secure the connection, thus a fixed
    subscr_rx_paging_response() function is more appropriate and avoids having
    to store a cbfn. The actual actions to be taken upon successful paging are
    of course still in callback functions stored with each subscriber.
    Remove paging_request_stop() call from subscr_paging_dispatch(), which stops
    paging on all BTSs, which is not the responsibility of libmsc.
    Change-Id: Ic2c785c9cc48b2c2c6557cbe1060d25afa89e38d

commit 9f159c515cdc2180df8943a8a845f95afad00ff2
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:06:55 2016 +0200

    move subscr auth check to gsm_subscriber.c
    add subscr_authorized(), subscr_authorized_imsi()
    Change-Id: If2ef06b1229351127c61477ca14653d6ae4cb6bb

commit de7335bfd7dc503a104b21bb13b587a625bfb5f5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:11:25 2016 +0200

    auth log
    Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef

commit 8e4ad58a591e8c3f90a7b4b7d0626c5f4f8aacb6
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:09:46 2016 +0200

    iu auth wip
    Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03

commit 88d128560f1a0fa41ecb25abb0d06b63ffe698df
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:03:09 2016 +0200

    Iu auth wip
    Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14

commit f48178f3351ee07f3f6e9585bb8d0ca2b9592165
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:21:32 2016 +0200

    cosmetic prep: change int -> bool authorize_subscriber()
    Upcoming function subscr_authorized() will flip this to bool, so separate
    this change cosmetically.
    Change-Id: Iba0184a71afa01141ef06c474cb554e79ad8f5d5

commit 205f42dd42396ff808dafa30d7ec367d46cb2fdb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:07:23 2016 +0200

    subscr_request_channel() -> subscr_request_conn()
    Change-Id: Ife8e10b240693a8d369139881774f1892044aa65

commit d86d744279b430250e4c1be176c011eb080ce08f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:05:13 2016 +0200

    move subscr_request to gsm_subscriber.h
    Change-Id: Idbbd39b0e068da17aafa97e315143509c69c50ea

commit d8e44ecbf18f823556f30eddc8a0adf907586e2c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:01:01 2016 +0200

    add gsm_encr to subscr_conn
    Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b

commit a5065de2a2a772f08b4eabfd7782870060175cfa
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:57:14 2016 +0200

    osmo-nitb becomes osmo-cscn
    Change-Id: I3787050b524954d8a4dd13495c458f3ee293807b

commit e2bf9ffac45fa943104da6056caed3155ebfb637
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 17:13:28 2016 +0200

    remove unneccessary linking from some tests
    The recent shifts and cuts have made some library linking for bsc, channel and
    db tests unnecessary.

commit 384dd43f9bef35b3fb755236cb811c4acf6cbbad
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:46:23 2016 +0200

    msc_release_connection(): don't call gsm0808_clear()
    gsm0808_clear() is all about clearing lchans. To be able to link libmsc without
    libbsc, don't call it directly.
    Change-Id: I149146fc3cb99ef4a21ee2a798231bb070f398cd

commit 696da2bdca001d53e5cba955d89e8da978665775
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 21:44:32 2016 +0200

    cut off libbsc paging, pending paging in libmsc
    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 CSCN 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.
    Change-Id: I8b6920ddc54fc3f2876a59664e6722666d8a8a4a

commit 1019de3f369388320ae1c85b190740728d6df508
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 13:09:14 2016 +0200

    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 relatd to msc_gsm0808_tx_cipher_mode() in two places.
    Change-Id: I5b276853d3af71f5e3f0a031fd17b4fff0580020

commit 98322fbf97b4f482f1fb2dd5e8fa74a5afe572ba
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri May 20 20:40:34 2016 +0200

    Use new msc_tx_dtap() instead of gsm0808_submit_dtap()
    Aim: msc_tx_dtap() shall redirect to IuCS or A interfaces depending on subscr
    Change-Id: I30d961f16eb7b9c0ab9cc3f43198098d3f1a909f

commit 7404112be6f7c8a6f795354db96b8043e8b024c3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri May 20 21:41:08 2016 +0200

    add libiudummy, to avoid linking Iu deps in tests
    Change-Id: I4a66c4122011dbc87c6fcb336ab0461b86522c98

commit f8372124451871f6b9ceb1924a6fcfa3a30ab2ae
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 14:59:02 2016 +0200

    move to libxsc: gsm48_extract_mi(), gsm48_paging_extract_mi() -- TODO move to libfilter instead?
    Change-Id: I00ca0caf8224de029f53f4dedb1146e3cf7650ec

commit 6993a4012820542b76385229b8d9d995e1838b3d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:37:59 2016 +0200

    msc_compl_l3(): publish in .h, tweak return value
    Use new libmsc enum values for return val, to avoid dependency on libbsc
    Make callable from other scopes: publish in osmo_msc.h and remove 'static' in
    Change-Id: If24007445899e9c75553a0dbf843ada3566b3380

commit 165a84b1239e0b365826145d55cc08562139f719
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:58:46 2016 +0200

    add cscn vty, remove nitb vty
    Change-Id: I8f8980d6cfbf26f1b0e0197939833e55dbe521fb

commit 28cbdcdb9a69dee4451bd909cac873f8c1de1b5a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:56:06 2016 +0200

    add iucs.[hc]
    Change-Id: I88e981f4c31393a98ae8d61176c65c9251a6f28b

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

    add DIUCS debug log constant
    Change-Id: Id347a3024fa495a1ab680db7320648d933a4018b

commit 92a13c4c75282eb59c2724718cf9e9632321439f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:16:45 2016 +0200

    gsm0408_loc_upd_rej(): remove bts use (used only for debug log)
    Change-Id: I3ac38f4b701ad8308470573260fa91a4b04c2f18

commit a87f2d4c885344510be669e2ecd69335cac653ee
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:05:43 2016 +0200

    gsm_04_08, gsm_subscriber: decouple lac from bts
    The idea is to not have a direct pointer to a bts struct (into BSC land), but a
    LAC to resolve the BSC or RNC depending on the appropriate A or IuCS interface.
    subscr_update(): remove bts arg, add lac arg.
    Pass conn->lac to gsm48_generate_lai() instead of bts->location_area_code.
    Change-Id: I9f2b298a785bf4b2a1b3fcdd91b8256106b2d9de

commit 6d46d7ffff282a48fc8d92ab09fc0bd7dfe59560
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:06:35 2016 +0200

    subscr_update_expire_lu(): remove bts arg
    Change-Id: I26cafd9389aac65e53dc4280a1687c6b8bce3106

commit d6c5b1ba34ee2ef9ee5afc039cf6adc72541f166
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:03:18 2016 +0200

    move t3212 to network level (periodic lu)
    Set the T3212 default value in struct gsm_network and take that value when
    creating a BTS.
    Adjust VTY accordingly.
    Change-Id: Ifb730f9d0106fe195adc30459a39290a07313b50

commit a77eda41dc5783156af94e683dbeeac1b0239ee6
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:11:50 2016 +0200

    libmsc: iucs dev: disable large parts of the code
    Change-Id: I3ef6ca26150b6102a0fa22a88a60d9a442d640b4

commit 8470f8b834fab37cb21832e73a8d00784fb730ba
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 12:50:31 2016 +0200

    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 via_iface marker to gsm_subscriber_connection with enum values IFACE_A and
    IFACE_IU so far.
    Add Iu specific fields in a sub-struct: 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]").
    Change-Id: Idf8020a30562426e8f939706bf5c2188d5a09798

commit ea79926e32ce7ed1775dd840b0b0263e6ddfe837
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:13:32 2016 +0200

    don't use lchan in libmsc
    Change-Id: Ic7ed7faa2bcc7aae799f41ed4abc2c001bfb61b7

commit 9547822015ddb38c2a9602efa37e9399af383a52
Author: Harald Welte <laforge at>
Date:   Thu Dec 24 17:06:42 2015 +0100

    gsm_04_08.c: Don't set msg->lchan nor msg->dst
    the BSC-side of the API behind gsm0808_submit_dtap() is doing
    this resolving again anyway.  So let's avoid doing it twice, and avoid
    having more dependency of the MSC down into the lchan details.
    Change-Id: I14254be68ee1a48e9f1ce968233414d86c6ba9d5

commit b639ab9f66490c0f45c7dd3fe02ed4dc71f1676f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:00:23 2016 +0200

    gsm_subscriber_connection: mark BSC specific items
    The struct shall be split in two later.
    Change-Id: Ib9666225fb9bfec2cf1e364343560571869fe6a7

commit 6d6050e477df21ce19cb65ff6c97c1848b1acaf6
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 21:56:42 2016 +0200

    osmo-nitb: exit when MNCC socket init failed
    Change-Id: Icef97bb5da9840b810fe6f4b4da6abd4baa66915

commit c8e04ff34a3ba52b9bb90f2b117c43cbbe828645
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri May 20 17:15:44 2016 +0200

    split subscr_con_allocate()/_free() in bsc_ and msc_
    Rename current subscr_con_allocate() and subscr_con_free to bsc_*,
    and add two separate msc_subscr_con_allocate() and _free().
    The msc_subscr_con_free() ignores all lchan members.
    In libbsc use bsc_*, in libmsc use msc_*.
    Change-Id: I3cf7c7cafdf4672ec7b26058bba8a77159855257
    Future: there will be distinct subscr conns for libbsc and libmsc.

commit 38e138189ae84f14f9682458298f14dcec10cd7b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 03:24:41 2016 +0200

    move to libxsc: net timezone VTY config
    Leave the timezone VTY output in libbsc's config_write_net(), until the BSC/MSC
    separation of struct gsm_network is completed.
    Change-Id: I9712b2e07b4f1ab8d2e4ad40a8d771e98ed25b20

commit 3b3c2f8eac0dcd7f62226a2178d17bcd63c3605b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:29:33 2016 +0200

    Move timezone settings up to network level
    Time zone used to be configurable per-BTS. In the upcoming MSC-split, no BTS
    structures will be available on the MSC level. To simplify, drop the ability to
    manage several time zones in a core network and place the time zone config on
    the network VTY level, i.e. in gsm_network. If we are going to re-add fine
    grained time zone settings, it should probably be tied to the LAC.
    Adjust time zone VTY config code (to be moved to libxsc in subsequent commit).
    Adjust time zone Ctrl Interface code.
    Change-Id: I69848887d92990f3d6f969be80f6ef91f6bdbbe8

commit 371b503c73babe6d6aa8999855e2e08367a08908
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:56:43 2016 +0200

    reinvent connection_for_subscr() and move to libmsc
    Implement connection_for_subscr() from a completely different angle: instead of
    looking up lchans in bts structs, look up the subscriber in the global list of
    gsm_subscriber_connection. static lchan_find() is thus obsoleted.
    All callers of connection_for_subscr() live in libmsc, so move to libmsc.
    The move and edit are done in a single commit since the old and new
    implementation have nothing in common.
    Future: osmo-cscn will use this, without bts being present.
    Remove implementation of connection_for_subscr() from channel_test.c -- it is
    possible that the abort() in there was intended for a regression test, but
    actually it seems the implementation was merely added for linking reasons, and
    the abort() added to guard against the NULL return value: no comment nor the
    commit log indicate that the abort() is test critical; the addition was the
    only change in channel_test.c for that commit; at the same time a
    connection_for_subscr() call was added in libmsc.
    Change-Id: I5e0ba0ecf1726ebd540800f4e98fdfc937c904ff

commit c5d39f9cb350aa1f628e9fc7d3b731c06e168a3b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 01:53:23 2016 +0200

    bsc vty: rename show_net_cmd to bsc_show_net_cmd
    Future: there will be an MSC-land show-net-cmd, so rename to something with
    bsc in its name.
    Change-Id: Ifb86698cd57a09f03b935b6d3fcea87eff4cd397

commit 749187b73803cce6d0afb92fbc78f87882b87fd1
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 01:16:58 2016 +0200

    move to libxsc: network VTY that isn't BSC-specific
    Keep only BSC specific bits of the 'network' VTY node in bsc_vty.c, move more
    general VTY commands to xsc_vty.c.
    Add arg to xsc_vty_init() to pass a config_write_net() function. Pass a libbsc
    specific config_write_net() function.
    Future: upcoming omso-cscn will re-use the VTY bits moved to libxsc and pass a
    different config_write_net() function.
    Change-Id: I871b7b32a0c56fdce983e409cf244ec487d24e71

commit 75f403f64d8efafec14f95dc32bcc27271145b9a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 18:48:39 2016 +0200

    move to libxsc: global vty gsm_network pointer
    Move gsmnet_from_vty() and the bsc_gsmnet global to xsc_vty.c.
    Rename bsc_gsmnet to vty_global_gsm_network and make it static to xsc_vty.c, to
    clearly mark the global variable for VTY use only.
    Introduce xsc_vty_init() to set vty_global_gsm_network.
    Change-Id: I26c5c47de08f899b896813d09612d5cb2f8e42d6

commit aeb4a5f1d54191ab64648585ead32e85380f4dc3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Oct 24 01:53:38 2016 +0200

    global gsm_network: move allocation further up
    Now that bsc_network_alloc() is separate, move it to before the VTY init (a
    subsequent patch will pass the gsm_network instance as a parameter to
    bsc_hack.c: drop the comment that says about the VTY init: "This needs to
    precede handle_options()" -- it is not accurate. Actually move the
    handle_options() above both vty_init() and the bsc_network_alloc() calls, to be
    able to decide which mncc callback to pass to bsc_network_alloc. It would make
    sense to set this later on, but that would require further refactoring of the
    bsc_network_init() and gsm_network_init() signatures, so not in this patch.
    Change-Id: Ie6a7037e703b5a2d08ceeb20d35f197aaddc9d1b

commit 54f2dbbda383e969053356a0b9f04e2b94a58472
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:12:00 2016 +0200

    split bsc_bootstrap_network() in alloc and config
    For patch clarity, keep some code dup to be removed in a subsequent patch. In
    the same sense don't change the fact that mncc_sock_init()'s return value is
    The global gsm_network instance 'bsc_gsmnet' is basically only used by the VTY,
    and a future patch will "hide" that global in a vty .c file. In a nutshell, I
    want to
    - first allocate a gsm_network,
    - then initialize the VTY passing the gsm_network pointer,
    - and then read the config file using the initialized VTY.
    So far, bsc_bootstrap_network() allocates the gsm_network and reads the config
    file right away, which only works by sharing the extern bsc_gsmnet pointer,
    which I would like to uncouple.
    Change-Id: I480a09a31a79766ad07b627dd5238b7e37f3be7a

commit b2b8e4261e8b30e37f6ebd794a7376e2d2f62789
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 03:03:50 2016 +0200

    tests: drop unused libmsc, unneeded duplicate libbsc linking
    Because of libxsc, tests/gsm0408,subscr,trau no longer need libmsc.
    Change-Id: I9073eba41a1cd3136ed7a9def6fe8aaf282eaa18

commit fcacb5620a7bda2b0ec0681fb2b370f2a3d4efaf
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:27:32 2016 +0200

    sms_next_rp_msg_ref(): use direct pointer to next_rp_ref counter
    libbsc and libmsc will have separate subscriber connection structs. Hence don't
    rely on gsm_subscriber_connection, but work on a direct pointer to the counter
    for the next RP reference.
    The only very thin function in gsm_04_11_helper.c thus becomes obsolete: drop
    the entire file.
    Change-Id: I2a2e9ba6a981a385d1f8f07acbe03536ffed0072

commit a4c27ff472d3cf46f3b824a26a14ae606f3164b1
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:30:17 2016 +0200

    factor out & introduce struct gsm_encr, in xsc.h
    Factor out encryption info from struct gsm_lchan as struct gsm_encr, placed in
    Change-Id: I94015fb9dd511c37c1e3058a0963c780b3f700ac
    Future: this will be used by libmsc's subscriber connection, for osmo-cscn.

commit 166bfddd57c181b386559a209703cfabd684e8cb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 12:50:31 2016 +0200

    move to libxsc: factor out gen of USSD notify and release complete
    Both libmsc and libbsc will need distinct gsm0480_send_ussdNotify() and
    gsm0480_send_releaseComplete() functions, since there will be distinct
    subscriber connection structs.
    The current functions live in libmsc, so add the same in libbsc in new file
    To avoid too much code dup, move the message generation part of
    gsm0480_send_ussdNotify() and gsm0480_send_releaseComplete() to new functions
    gsm0480_gen_ussdNotify() and gsm0480_gen_releaseComplete(), placed in libxsc.
    Change-Id: I33a84e3c28576ced91d2ea24103123431f551173

commit 603efebb0540ef32ca44d42a3faa53dcbcf585ba
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 14:58:51 2016 +0200

    move to libxsc: gsm48_create_mm_serv_rej(), gsm48_create_loc_upd_rej()
    Used by libbsc, libmsc as well as osmo-bsc and osmo-bsc_nat.
    Moving gsm48_create* to libxsc affects linking of osmo-bsc_nat, resulting in
    undefined references to gsm48_extract_mi() and gsm48_paging_extract_mi(); fix
    that by placing libfilter.a left of libbsc.a upon linker invocation.
    Change-Id: I212c2567b56191022b683674c1c4daf842839946

commit 1f7b7fce397273340a6cdb9192e2dd729490efa2
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 00:46:29 2016 +0200

    move to libxsc: net init 3: actual move
    Reincarnate gsm_network_init() as the parts not specific to libbsc.
    Move from bsc_network_init() those bits that are not BSC specific (and useful
    for upcoming osmo-cscn).
    Add libxsc to all linkages that use gsm_network_init().
    Note: the only requirement to allow linking gsm_network_init() without libbsc
    is to keep the call to gsm_net_update_ctype() out of libxsc. The other items
    are kept out of libxsc because it makes sense semantically. But the separation
    is not strong in that the BSC specific data members are of course still
    omnipresent in struct gsm_network. If bsc_network_init() is not called, these
    are not initialized properly -- for now no users of uninitialized members
    So this is just a first step towards a sensible split of the BSC and MSC
    gsm_network structs. The long term aim should be to have entirely separate
    structs with some common general items.
    Change-Id: If06316b97002390dc9a434686750cb96193ea63b

commit 71452813eaaa46bd60f56d504ccb82ee39e606e4
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 00:57:04 2016 +0200

    move to libxsc: net init 2: move bsc_network_init decl to osmo_bsc.h
    bsc_network_init() is more fit to live in a BSC specific header.
    Change-Id: I9edfb1e748bb1cb484fadd48b0406f5b3098e89b

commit 2097eb40c77e0387e63568a9529d77ce4457443d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 00:45:26 2016 +0200

    move to libxsc: net init 1: rename to bsc_network_init
    The gsm_network_init() function initializes a whole lot of BSC specific stuff.
    Aiming to move some of it to libxsc, first rename it to bsc_network_init().
    This will retain the BSC specific stuff when the move is done.
    Adjust all callers.
    Future: osmo-cscn will call the more generic part and not the BSC specific
    Change-Id: I4816ae19374390fc5c64972f7cad2e9ec3d8bcc3

commit 27bca2c3e9a069272c54522e48dc9637ce9078bf
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:28:25 2016 +0200

    define mncc_recv_cb_t to avoid code dup
    Put mncc_recv_cb_t in xsc.h to avoid header include complications: if placing
    right above struct gsm_network, one must include gsm_data.h to use
    mncc_recv_cb_t as function parameter in a header, which will include
    gsm_data_shared.h, which will include xsc.h (future knowledge). Since I will
    need to use mncc_recv_cb_t in xsc.h, including gsm_data.h from there would
    introduce an #include loop. Avoid that and define mncc_recv_cb_t in xsc.h to
    begin with.
    Change-Id: I2e64cffa563750ce9f3172ffba6f9cf5b9280e9c

commit 71b227f47b24c458b29a852e9fa1c3af67595212
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 12:50:31 2016 +0200

    Add empty libxsc
    This will gradually soak up code shared by libbsc and libmsc.
    Change-Id: If34e2bd38a099d0799238337468d56e0305ab8ae


Summary of changes:
 openbsc/include/openbsc/gsm_04_80.h  |  1 -
 openbsc/src/libbsc/net_init.c        |  2 +-
 openbsc/src/osmo-bsc/osmo_bsc_main.c | 13 ++++++++-----
 openbsc/src/osmo-cscn/cscn_main.c    | 10 +++++++---
 openbsc/tests/    | 30 +++++++++++++++---------------
 openbsc/tests/     |  1 -
 6 files changed, 31 insertions(+), 26 deletions(-)

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

More information about the osmocom-commitlog mailing list