openbsc.git branch neels/ipa_nano3G updated. 0.15.0-531-ga39abe7

gitosis at gitosis at
Thu Sep 22 18:57:45 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/ipa_nano3G has been updated
  discards  0a6de2a7b0b6c28893984e98a150d7613fc410c9 (commit)
  discards  c782d4aaaa01a94d805b3ab3c130eaa503c48761 (commit)
  discards  a4463d63e48f68a9e7f7972f1a1a28cb7e1b10bc (commit)
  discards  c3518882061945081aafb9fef1ac064ff9843438 (commit)
  discards  449b990b1831ae67afbea0ea39387e1c2fe92c99 (commit)
  discards  2c290a37b29c8aea86fd4473763161c347e23b92 (commit)
  discards  1d3e8a454b5939a37321d6af533a5c8a620a0c26 (commit)
  discards  197e616fa16edc65d2631b60685ab362afc25541 (commit)
  discards  2fcf92f75372ece3333096e29619fb3b0ba4b2ee (commit)
  discards  9e2ab691a6bd44350a5ac7ec5b9d08857d5ee2cf (commit)
  discards  ddfbd41ceefdd2e730b5cabcf3bde6e155ef9110 (commit)
  discards  6a1a928d9f71a8ad6baa17af56fdf339e915300d (commit)
  discards  98c8224db1be2fe08ad3937a8a7bed08807f3839 (commit)
  discards  de89dc079b809392a993ab2691163e697f840ebb (commit)
  discards  14ffc588533763b1a38a89b82e3ae09b3472d230 (commit)
  discards  fccfcd30924ee6f5f246f9dfb6d20734ae6ae422 (commit)
  discards  05a92e7c8d7ae414b69f892d5b6e02442b769233 (commit)
  discards  efaadcf8ed2f9373aa423ab83cf749a94426d55b (commit)
  discards  c50c83a217344afcb7114ea798a2aaba6dbab4be (commit)
  discards  e896c4067828e5110842e4e0c305db30aaa50358 (commit)
  discards  8c2102dd8a3e0fff2759ceda55335a08e1420991 (commit)
  discards  77bf2aa3a7dfaa9f26f1aabbc5d3c9eb44d82b95 (commit)
  discards  88475d9518bea7e93ff2ceadf0f743c4738070e2 (commit)
  discards  c911713c4eda32bdb4abe5c96a41e12e2949ed9d (commit)
  discards  82d39923e54dfe383614dd2b0908a9f470c90b95 (commit)
  discards  46da6ae12c37d9a69bee05d6a59e6991611ebc56 (commit)
  discards  564fa02e69e07389290800008c3b4bab1be0c8c1 (commit)
  discards  f02ccc393dc2dc57d50df76a0dae3820431762f6 (commit)
  discards  5889b775b913416354bfc9c9e88ade7a46d43791 (commit)
  discards  ed42a412c09381777c756c0b0ab8c81131ec7608 (commit)
  discards  86d058006ae1dbc8f6a40bbcc10dc6f7483aecfd (commit)
  discards  87b5cbcd450431f5c97fbc8c7eba99b47ed3e86d (commit)
  discards  35a83b6794f2276b660ea1a1c16b3062dcf1fb23 (commit)
  discards  939bdaa40f7ba95e8942977cbf2ba4686c7de07e (commit)
  discards  cd6bac096a3dde9c41bbb010a3245093df29cc1d (commit)
  discards  9a79c747cd97aebec75aeac6b303df27e5aaf5eb (commit)
  discards  c537008c625cde135bab24c2a935418f0f948b03 (commit)
  discards  44fdfde0fecce9cfd92a5be84b1b21cf0918659b (commit)
  discards  66bff6ec093bf36e451adef5f22ba0d267c1b1aa (commit)
  discards  89a8dde5148efdc1b3c69e5c85a427cf4271d226 (commit)
  discards  e86a9f17197b6d1ce531ad68519bd0af7208d72b (commit)
  discards  d384c999c3b7f60e3fb33323d645db2a120b4342 (commit)
  discards  fff6544e8748b3d2dc1467109da63f276d845606 (commit)
  discards  1754704dbf10f120a24be9155a5b66fe3fc30fd7 (commit)
  discards  9ac69c6f40a020ef759c3e2230b1f6dbc996afe8 (commit)
  discards  8cb7a6bab71cf9d470e0ebaf9515b9c232f7d82d (commit)
  discards  6fa79e3c56ba8b7174a771941feae9c7f53231ef (commit)
  discards  55c29290fb54549330047dc8653e1079806764c0 (commit)
  discards  227f4fbc0d23e44127efc546980b9002457bddf4 (commit)
  discards  8f03d8fd40304f3d4ce104a595364fe74c5578aa (commit)
  discards  7e22f4a547f80dd4a9cf013ae4d6b2c4600c94e8 (commit)
  discards  d01c35edb44537c16ff834c72a47e7796e272903 (commit)
  discards  21b99fb23a5f9d4d36e60f928ca48270925e10f1 (commit)
  discards  6564b2474bfabf38b8941e7511a3f5e1e855866b (commit)
  discards  5f587459a6b5bd357b51152ce3b75bec93a7e5c2 (commit)
  discards  f8b3e04ce0ebed606d768d69f7c18138ae71cc9d (commit)
  discards  3802817724332b222e1fd86c5c9ede803767ebfc (commit)
  discards  f8c86adcf56ca896cc50f53608d2ae4e35bd40be (commit)
  discards  56ae88a7313c4c30d88d2da6625f302884802aac (commit)
  discards  deaf2cbe63f87be9a7299eaa2d59618da3449f25 (commit)
  discards  b559e86e3db213c0ee560197e2425bbefc11aa87 (commit)
  discards  f881d73ac0f7c5d0de02432a3b30841733b44af1 (commit)
  discards  71adf9374371c8f2b79da388c7cc345e15dce07b (commit)
  discards  37c50144041b7bbb66da146b16907016ebf554d0 (commit)
  discards  071d74787b31813ee50c53c97a936ad7950effef (commit)
  discards  0b11db5be89f04b96a19be6ead79b4656b76b701 (commit)
  discards  b6893e6c9389ca1cee00af99e14577e219b76f21 (commit)
  discards  ef1d739a0443b6b41bc993525931172e4c690aa5 (commit)
  discards  fa8b1d40abda6664a92a6bafb542587f30e904de (commit)
  discards  a5f25592b8ba0a35b2c0aeca712c33c8e81b45af (commit)
  discards  d26980868deb2a77cdbb7d2b876cc32ee5d7dd98 (commit)
  discards  9f42f246da1aa0dd74c9fa0562812f599dd42951 (commit)
  discards  4737492815a9abd41fa1022a1a30af27a0a9b29d (commit)
  discards  2f4d4e6d7174e5bdd423544f8564a12ef20d43f0 (commit)
  discards  323f0c04a2822ed7a8d1a5b1e93a31122bc5621c (commit)
  discards  ffe906c54c191d18b3b2fc33cbbb0eb99f5c3ffb (commit)
  discards  c463dfeef5723c7305440df1748abcd570bc4ba6 (commit)
  discards  efb1aa9afdc6970ca9ba7ce2cf1c908330283c3b (commit)
  discards  aba50544bccf3392388ea21f49c8c32c0d736bc9 (commit)
  discards  3f79623a3def6d6c8cfead490e9ee59ca61bb276 (commit)
  discards  f1a68b6745da785cbda2cdcaa32021db699cb215 (commit)
  discards  eaac3a0ac7773333196b74bca4d51353b9deec2d (commit)
  discards  321d7653fcbfdd985c54748d9c93d0b266524ac3 (commit)
  discards  89129c32d5610ec43092754e2d47501eadf86ba0 (commit)
  discards  2c4e942d79c178408aee72e1b92967c1c9d2ec04 (commit)
  discards  73469ee0069b2d28a2964b2ed2137242fcf94679 (commit)
       via  a39abe7c96b18855311f806e78829041e11a5753 (commit)
       via  cd1114ffc44436a923f09b0fc2d1aca4f2ca048a (commit)
       via  5f9924baf87ce5e30afd63e4d6883ca5d5ea1689 (commit)
       via  4eecb0c2b09dbc17e7a4f325f757cd492af7c558 (commit)
       via  dc95be82b63764f86a4149b0b06fae972e950d88 (commit)
       via  e79e0d43185c298cf4249f4cffdc2b8e79dc882b (commit)
       via  0206890164ab9f890cb937db11e2a216022248e3 (commit)
       via  f2bc76ef9a92070ebb69d3b418fe2b46e31009db (commit)
       via  5622ba232f49339a6a26d896c9a040860357a876 (commit)
       via  3b1073a67f3f4855767e7721f39f0bd616e3f798 (commit)
       via  624fbc6d1db312c2d48bbb92c6785aca49df7a08 (commit)
       via  c37ee76ea9af76d7f5f2adcf1298df8e08cec325 (commit)
       via  79e01511b1866286364bf6b9e415441a83d67a31 (commit)
       via  763f03a4829c4e9910e78b6dd4ce3e75dfb595b3 (commit)
       via  fcdda212b7721629d28b44b6f8747f138095d952 (commit)
       via  58117ff02d6dada7e35558a10c99dd98b11d3265 (commit)
       via  ce5981f7bbafdd236a27afae1e3221efd5aa762c (commit)
       via  01c8d6ebc90f61a8c7426a4272e137d3759410fe (commit)
       via  ce5d91967e9e2d00e534a896cb5ed37edbfed8e1 (commit)
       via  bb675be26cda0ea36c0422aa4730548410317c4f (commit)
       via  cbeca082708943fab0dd3fdb14f47ab5248e6803 (commit)
       via  d6930ef810ff2c8c76f87b15fd13048bde2d97ea (commit)
       via  2e4c9ff9737b75c99955b9a2a19f0c1bb02f5f95 (commit)
       via  2fcd302ee8f146abdd96af29fe779da90ddad3e9 (commit)
       via  085c923348e498be21cbe9f3dffee5099b501ecd (commit)
       via  9d7eb3884b4a565d395f1aec658dfc0f669403e0 (commit)
       via  f0c20f370e35deba6d7ee82adb23fcd75756fddc (commit)
       via  5808f10cbb5593015a6b640abf1c767e77453f03 (commit)
       via  0e22fc074d818493b96d9064ca6765e10af35d73 (commit)
       via  4ea02de58d0aaea5fce93ff0468a2d36546ee740 (commit)
       via  dd38b1b223706cb0ecce6a82608423ec1b8274d1 (commit)
       via  0b261c9ba33119a68d102ef0c411f101007b7c71 (commit)
       via  f1e87fab301c8a7a96180ca3ec55c36c992a1daa (commit)
       via  025d20951cbfa70e5f77b1d659b537794df90b7c (commit)
       via  32a3b4da5e5670d4ff9e091c3fd4a12d468e7d76 (commit)
       via  86bd1edc2517421cdf0fd0a74558f0065e4e09dc (commit)
       via  8f2310e4bc30f908971d5ae0f1080ed729818695 (commit)
       via  33b2ed3f241dc5e5b6c167d5ed1797efbe89e2cb (commit)
       via  e78b0a3570d5d8d548c5c21fa4dd6fed103cca26 (commit)
       via  ddc870b9961b25000dbc0b0db8f292a958d541f0 (commit)
       via  fcbee9783cb0a266d87f44c39416c61d814d27ce (commit)
       via  009daf575b564f94d8080290c1e43df6daf2f670 (commit)
       via  bffdea4fbce83c4b6bab9fe33d3e331d018944ae (commit)
       via  5f56d3efe1789f57de5d7b5bb4203cf5cb8907bc (commit)
       via  274e90304661d06d0ff261f60d5774a36f9cd8b4 (commit)
       via  f9d4fa3908fd8ffd7a00360f4d7f75624a1e4955 (commit)
       via  588ca74511c5408bb1d2b111776b2aeb9487650c (commit)
       via  a008041d5845b82909bbd423021265622f0b4461 (commit)
       via  5d6c1a8185ccabbe280a9e454a326fad0ed9b4a8 (commit)
       via  0405e29c0f1df1af38cbbf70f4ffcdd9389d99f4 (commit)
       via  16c08d88e443edcbf40a7318da5fa714c1ccf36b (commit)
       via  fdc3464ddb5672cef007e8fd519b22a67d3f6e9b (commit)
       via  e15ac30967eee5bb0a150b6c37e68e50b77102c5 (commit)
       via  a6d847da2006da8b142096bb80958cfaa3bb477d (commit)
       via  79879e1dec399659a0e42e77b146526931bd0216 (commit)
       via  b568182fe06476fb15f4259a4cfc1f2c9b7e0843 (commit)
       via  a936f539626ff25ace50a97083cfb0fe557adb83 (commit)
       via  07ef82290526a5061db966c7744d339583872785 (commit)
       via  8eb041429df040160f94c50a6642402332a513aa (commit)
       via  1ecbee3ecd2a6363bd94cd342b6a3cbb02b11acb (commit)
       via  75f254b726b0c16e0ee61f54b866262efbd04be6 (commit)
       via  140c649ae7830c9f3de7421fcf0d0a8349f9f26d (commit)
       via  efa2dae290626f1f85c25784cd6d880702e183b3 (commit)
       via  e7e441ad1f955d950029c77d85403100e8da3de2 (commit)
       via  848e1cc868e0dddd30a8fcc075ee2e0e6005de5c (commit)
       via  31d37ca5443ae175ff66fa58f2f29673e29f8bd3 (commit)
       via  41b5b84597ebd6844e1e8ef5ed32d1acbd0eee24 (commit)
       via  f27dbe3796b39065392423331af30cad7676fa12 (commit)
       via  260c8eead6c3079904c56438b5848b7166df75ed (commit)
       via  5664f4dddde81d418a9b0c10f4419b65eec883a0 (commit)
       via  8d881637625741f503f7af5df17aa36c0069e87d (commit)
       via  005af03ce899696e5d0c8ee3ee530fc4b997c52b (commit)
       via  3d8902758c805210f21dbc1e66488d09866144f8 (commit)
       via  392275207a807c7c1a72f8e45d4c25a38b08d894 (commit)
       via  4e30d10fb48f9e6b43f325d9502a8a43a7d44189 (commit)
       via  45fb5bbcc1e29e95bd75c60f37f228df98958d86 (commit)
       via  2d0cf40a173aebf55286d98f30acdaf4b7909b2e (commit)
       via  4631ed6169db9647cb87b63d577fb7bc81a006fc (commit)
       via  fd8dd92c8ae692a65969fa6fee0ca6972caa1e51 (commit)
       via  23c08ef5f8e8b526efefcc8c0664666cc3bca8c7 (commit)
       via  5df8aa17d3a50153dd86a0162d9d411ac993483d (commit)
       via  67b465f463f0afd78e47228bf96ebf402f0132c4 (commit)
       via  7df7aa668fe7d7c8f7b0d06e75a9bd459f4c025d (commit)
       via  fedaf0caff0bb905a271f3e0748dccdd1984193f (commit)
       via  3da0aec6d9b319914456fcbecd9b34e28e836297 (commit)
       via  5a5a51c3027310173cb07a70f7f29dd166c0a08e (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 (0a6de2a7b0b6c28893984e98a150d7613fc410c9)
             N -- N -- N (a39abe7c96b18855311f806e78829041e11a5753)

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 a39abe7c96b18855311f806e78829041e11a5753
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon Apr 25 15:40:54 2016 +0200

    RAB Assignment: IuPS + IuCS: use shorter 32 bit IP address format
    This is needed for the ip.access nano3G femto cell.
    Change-Id: I80fe96505c24cf8730e48f24a34004a51e95ee32

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

    log telnet bind only once
    Change-Id: I83c7eeb53c871b7297cfa2fedd4cf4da7056e756

commit 5f9924baf87ce5e30afd63e4d6883ca5d5ea1689
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 4eecb0c2b09dbc17e7a4f325f757cd492af7c558
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 dc95be82b63764f86a4149b0b06fae972e950d88
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:28:35 2016 +0200

    bridge calls via mgcpgw
    Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a

commit e79e0d43185c298cf4249f4cffdc2b8e79dc882b
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 0206890164ab9f890cb937db11e2a216022248e3
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 f2bc76ef9a92070ebb69d3b418fe2b46e31009db
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 5622ba232f49339a6a26d896c9a040860357a876
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.
    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.
    osmo-cscn is going to use this to route RTP streams (for 3G).
    Change-Id: I6fe365c4c89207f2172943cc456b508a207b1135

commit 3b1073a67f3f4855767e7721f39f0bd616e3f798
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 624fbc6d1db312c2d48bbb92c6785aca49df7a08
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 c37ee76ea9af76d7f5f2adcf1298df8e08cec325
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 79e01511b1866286364bf6b9e415441a83d67a31
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 763f03a4829c4e9910e78b6dd4ce3e75dfb595b3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Aug 18 01:06:18 2016 +0200

    cscn: add cmdline error message
    Change-Id: I30c13a604160268756b7413f1733f92300eb241b

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

    cosmetic: remove legacy comment from gsm0408_loc_upd_rej()

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

    cosmetic: make gsm0408_loc_upd_rej() static

commit ce5981f7bbafdd236a27afae1e3221efd5aa762c
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 01c8d6ebc90f61a8c7426a4272e137d3759410fe
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:21:52 2016 +0200

    remove handle_abisip_signal()
    Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41

commit ce5d91967e9e2d00e534a896cb5ed37edbfed8e1
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 bb675be26cda0ea36c0422aa4730548410317c4f
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 cbeca082708943fab0dd3fdb14f47ab5248e6803
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:11:39 2016 +0200

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

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

    comment on mscsplit, indent comment

commit 2fcd302ee8f146abdd96af29fe779da90ddad3e9
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 085c923348e498be21cbe9f3dffee5099b501ecd
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 9d7eb3884b4a565d395f1aec658dfc0f669403e0
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:21:58 2016 +0200

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

commit f0c20f370e35deba6d7ee82adb23fcd75756fddc
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 5808f10cbb5593015a6b640abf1c767e77453f03
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 0e22fc074d818493b96d9064ca6765e10af35d73
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 4ea02de58d0aaea5fce93ff0468a2d36546ee740
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 dd38b1b223706cb0ecce6a82608423ec1b8274d1
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 0b261c9ba33119a68d102ef0c411f101007b7c71
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 f1e87fab301c8a7a96180ca3ec55c36c992a1daa
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 025d20951cbfa70e5f77b1d659b537794df90b7c
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 32a3b4da5e5670d4ff9e091c3fd4a12d468e7d76
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:11:25 2016 +0200

    auth log
    Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef

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

    iu auth wip
    Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03

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

    Iu auth wip
    Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14

commit 33b2ed3f241dc5e5b6c167d5ed1797efbe89e2cb
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 e78b0a3570d5d8d548c5c21fa4dd6fed103cca26
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:07:23 2016 +0200

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

commit ddc870b9961b25000dbc0b0db8f292a958d541f0
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 fcbee9783cb0a266d87f44c39416c61d814d27ce
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:01:01 2016 +0200

    add gsm_encr to subscr_conn
    Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b

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

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

commit bffdea4fbce83c4b6bab9fe33d3e331d018944ae
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 5f56d3efe1789f57de5d7b5bb4203cf5cb8907bc
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 274e90304661d06d0ff261f60d5774a36f9cd8b4
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 f9d4fa3908fd8ffd7a00360f4d7f75624a1e4955
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 588ca74511c5408bb1d2b111776b2aeb9487650c
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 a008041d5845b82909bbd423021265622f0b4461
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 5d6c1a8185ccabbe280a9e454a326fad0ed9b4a8
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 0405e29c0f1df1af38cbbf70f4ffcdd9389d99f4
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 16c08d88e443edcbf40a7318da5fa714c1ccf36b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:58:46 2016 +0200

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

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

    add iucs.[hc]
    Change-Id: I88e981f4c31393a98ae8d61176c65c9251a6f28b

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

    add DIUCS debug log constant
    Change-Id: Id347a3024fa495a1ab680db7320648d933a4018b

commit a6d847da2006da8b142096bb80958cfaa3bb477d
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 79879e1dec399659a0e42e77b146526931bd0216
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 b568182fe06476fb15f4259a4cfc1f2c9b7e0843
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 a936f539626ff25ace50a97083cfb0fe557adb83
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 07ef82290526a5061db966c7744d339583872785
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 8eb041429df040160f94c50a6642402332a513aa
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 1ecbee3ecd2a6363bd94cd342b6a3cbb02b11acb
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:13:32 2016 +0200

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

commit 75f254b726b0c16e0ee61f54b866262efbd04be6
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 140c649ae7830c9f3de7421fcf0d0a8349f9f26d
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 efa2dae290626f1f85c25784cd6d880702e183b3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 21:56:42 2016 +0200

    osmo-nitb: exit when MNCC socket init failed

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

    split bsc_bootstrap_network() in alloc and config
    Change-Id: I480a09a31a79766ad07b627dd5238b7e37f3be7a

commit 848e1cc868e0dddd30a8fcc075ee2e0e6005de5c
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 31d37ca5443ae175ff66fa58f2f29673e29f8bd3
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 41b5b84597ebd6844e1e8ef5ed32d1acbd0eee24
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 f27dbe3796b39065392423331af30cad7676fa12
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.

commit 260c8eead6c3079904c56438b5848b7166df75ed
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.

commit 5664f4dddde81d418a9b0c10f4419b65eec883a0
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 8d881637625741f503f7af5df17aa36c0069e87d
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 005af03ce899696e5d0c8ee3ee530fc4b997c52b
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.

commit 3d8902758c805210f21dbc1e66488d09866144f8
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 392275207a807c7c1a72f8e45d4c25a38b08d894
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 4e30d10fb48f9e6b43f325d9502a8a43a7d44189
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 18:04:00 2016 +0200

    fix build: osmo-bsc_nat: change linking order
    Moving gsm48_create* to libxsc affected linking of osmo-bsc_nat, resulting
    in an undefined reference to gsm48_extract_mi().
    Fix the issue by placing libfilter.a left of libbsc.a.

commit 45fb5bbcc1e29e95bd75c60f37f228df98958d86
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 -- TODO subscr_conn
    Both libmsc and libbsc need distinct gsm0480_send_ussdNotify() and
    gsm0480_send_releaseComplete() functions to account for the 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 2d0cf40a173aebf55286d98f30acdaf4b7909b2e
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.

commit 4631ed6169db9647cb87b63d577fb7bc81a006fc
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.

commit fd8dd92c8ae692a65969fa6fee0ca6972caa1e51
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 23c08ef5f8e8b526efefcc8c0664666cc3bca8c7
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 5df8aa17d3a50153dd86a0162d9d411ac993483d
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 67b465f463f0afd78e47228bf96ebf402f0132c4
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.

commit 7df7aa668fe7d7c8f7b0d06e75a9bd459f4c025d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 21:09:47 2016 +0200

    mscsplit: directly access gsm_network backpointer from gsm_subscriber_connection
    The previous commit added a network backpointer to gsm_subscriber_connection.
    Use it wherever it makes sense, to skip the step through the bts structure.
    In some places, remove local variables that become unused.
    Change-Id: I34537025986713291e14c8212a81539b497befd4

commit fedaf0caff0bb905a271f3e0748dccdd1984193f
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 22:33:01 2016 +0200

    mscsplit: add gsm_network backpointer to gsm_subscriber_connection
    We want to be able to use a network backpointer without having to go through a
    gsm_bts struct.
    This commit adds the network pointer, the subsequent commit applies direct
    access to the network structure from gsm_subscriber_connection.
    Change-Id: If8870972f1b3e333c2a4cce97cdc95bdee0382a1

commit 3da0aec6d9b319914456fcbecd9b34e28e836297
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 21:18:08 2016 +0200

    mscsplit: abis vty: decouple from global bsc_gsmnet variable
    Publish gsmnet_from_vty() in openbsc/vty.h and use in the abis VTY functions.
    Change-Id: Ib65a18db06b8bc4fc7d56bf56dd64a52cc1cd253

commit 5a5a51c3027310173cb07a70f7f29dd166c0a08e
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:40:19 2016 +0200

    mscsplit: bsc_vty_init(): decouple from global bsc_gsmnet
    Add an explicit gsm_network pointer instead of using the bsc_gsmnet global.
    This allows passing a gsm_network struct from the main() scope, which helps to
    decouple libmsc from libbsc.
    Change-Id: I9e2c0d9c18d4cebb5efb71565ad84df2bc2e0251


Summary of changes:
 openbsc/doc/             |  15 --- =>} |   7 +-
 openbsc/include/openbsc/gtphub.h                   |  98 +++++++++++++-
 openbsc/include/openbsc/mgcpgw_client.h            |  20 ++-
 openbsc/src/gprs/gprs_gmm.c                        |  18 ++-
 openbsc/src/gprs/gtphub.c                          | 146 ++++++++++++++++++++-
 openbsc/src/gprs/gtphub_ares.c                     |   1 -
 openbsc/src/libcommon/talloc_ctx.c                 |  20 +--
 openbsc/src/libmgcp/                    |   1 +
 openbsc/src/libmgcp/mgcpgw_client.c                |  58 ++++++--
 openbsc/src/libmgcp/mgcpgw_client_vty.c            | 116 ++++++++++++++++
 openbsc/src/libmsc/cscn_vty.c                      |   4 +
 openbsc/src/libmsc/msc_ifaces.c                    |  12 +-
 openbsc/src/libxsc/xsc.c                           |   1 -
 openbsc/src/osmo-cscn/cscn_main.c                  |   6 -
 openbsc/tests/db/db_test.c                         |   4 +
 16 files changed, 447 insertions(+), 80 deletions(-)
 delete mode 100644 openbsc/doc/
 rename openbsc/doc/{ =>} (77%)
 create mode 100644 openbsc/src/libmgcp/mgcpgw_client_vty.c

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

More information about the osmocom-commitlog mailing list