openbsc.git branch neels/mgcp updated. 0.15.0-623-g20e3ac7

gitosis at gitosis at
Sat Nov 12 15:26:09 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  961766d743e2378d3e858ee0598b766c18f7000d (commit)
  discards  5182ffe95c88d3313634cca2fb8e015050f6a517 (commit)
  discards  0f76f3ec249e95d322ad8fecf4dfc75f7b267570 (commit)
  discards  c6cd9fd5120369ff889650101b011e87b4da725c (commit)
  discards  07e3ad07303b76671728947887e3278bf79d1cf4 (commit)
  discards  79acc9757368ebb9f4bf0cf42f88bfb5a5786f5d (commit)
  discards  5800914777d3df6ac2dbad78f0e0c5212731604d (commit)
  discards  62c903dfbccde4c3d049df3edcae71745ccb5ce5 (commit)
  discards  634c5227fb3c8d0eca1352749d870b811bc220ac (commit)
  discards  4b8e88c0542697fa1e9232d143db114d24175c70 (commit)
  discards  932a66b7793fb9dc9cac9781d9d32cbea4359112 (commit)
  discards  83b9f6919007278e61ef94499e1ec9c01d4417d8 (commit)
  discards  d57acf7e48b46ba603f33b064d6b3dac8a26f4a3 (commit)
  discards  cae0a96d2140c328453d0daae307ae39fbc3c2c4 (commit)
  discards  69d99e015212a3fee110c8dd456336b0cf316c61 (commit)
  discards  6fd1c5b303b1ef204a071ea3a7d217184b1c765d (commit)
  discards  ec9e1eeec5bd073d7a553530adf01b57bc059432 (commit)
  discards  dd7ea64af6b5ee433161c33e5cf7072c26c768ff (commit)
  discards  f1a215bc191ba8eaaf37f3f75b51a881e602c403 (commit)
  discards  6c9c15a003ecc947ff0dbce57240a4b4ce6c1466 (commit)
  discards  e396d9e1293edbdbf1db9941e1418d4c93aa7bd9 (commit)
  discards  682097da099945998a5974a9f9b1f4c4b8cb88c3 (commit)
  discards  2ae762c87d1e71e726863cb68515db4d0c0f6ae4 (commit)
  discards  5a37069b3d3b191678b0d9e4ba2bf9ad303d161f (commit)
  discards  f57e33ec65801ebfb20d8dd87f8ac8fffc866332 (commit)
  discards  06e93abc03750dc2cde1d998d3f7f9991424563a (commit)
  discards  c1cabd93afe1fab045fec5521bd2ea5c13b9a91f (commit)
  discards  c7df75b5c3283d64ab1174b75370213f32fe28ce (commit)
  discards  28930a569469a708584ddf2680665dda70a02808 (commit)
  discards  eefa2297e53cb8c5ade26ff54e604006dcf3adfd (commit)
  discards  8da248fe3f5d806b7a8a59ef30ae1c0641c1b8cf (commit)
  discards  95cd48181d1faec3c0343daad85037e89d6c3c5f (commit)
  discards  6e84b53ec4c747e4a9481d9d21b6665dda3549d2 (commit)
  discards  4ee5817e7b13574a6a775759dfc2774197ffcbc9 (commit)
  discards  c86d1a0934b2cda12a91f82dc4f0c957850542ff (commit)
  discards  26c3511561a7efa22fe39fef749cc85e7a6fcfd3 (commit)
  discards  edf8debeafe0044c8e4e834606f74097cc532962 (commit)
  discards  91b1ea7eec46f7fa2ac1ff1f89e7b2ca7b22449e (commit)
  discards  198320234c4ec9d6fc09ce736ee5236a976b4f69 (commit)
  discards  faf52f24f8127f4e28bbdae3e673ae860aefa5d5 (commit)
  discards  ea47d3b4be48989a5bb9797f7839f7f7db86b6bc (commit)
  discards  2a31e6a1127b21a7b1cbd1d8004128ac721664c9 (commit)
  discards  6af527864e055ba3afebd5bdafe080090b1eac87 (commit)
  discards  992430093d27b7fda255f13682bc99df415465a7 (commit)
  discards  320a6de5c7a4bacc4298dbb6e164a33b68940b85 (commit)
  discards  e526a7423811748e6a9f2011c7d7ae11dcac6f96 (commit)
  discards  9f7115a4a2b1e3af8e11d4e6cd548e48639ee500 (commit)
  discards  8df8b32ab9528c79d352b60790008fcf4c9bd087 (commit)
  discards  3abc2b8e5483f105b2ae64ab2520e49098479f26 (commit)
  discards  c3c103280296ee6c118c75a77924850cee18f485 (commit)
  discards  4026b4a469b36bdfd1c053ae668307a3e4dc44da (commit)
  discards  9f159c515cdc2180df8943a8a845f95afad00ff2 (commit)
  discards  de7335bfd7dc503a104b21bb13b587a625bfb5f5 (commit)
  discards  8e4ad58a591e8c3f90a7b4b7d0626c5f4f8aacb6 (commit)
  discards  88d128560f1a0fa41ecb25abb0d06b63ffe698df (commit)
  discards  f48178f3351ee07f3f6e9585bb8d0ca2b9592165 (commit)
  discards  205f42dd42396ff808dafa30d7ec367d46cb2fdb (commit)
  discards  d86d744279b430250e4c1be176c011eb080ce08f (commit)
  discards  d8e44ecbf18f823556f30eddc8a0adf907586e2c (commit)
  discards  a5065de2a2a772f08b4eabfd7782870060175cfa (commit)
  discards  e2bf9ffac45fa943104da6056caed3155ebfb637 (commit)
  discards  384dd43f9bef35b3fb755236cb811c4acf6cbbad (commit)
  discards  696da2bdca001d53e5cba955d89e8da978665775 (commit)
  discards  1019de3f369388320ae1c85b190740728d6df508 (commit)
  discards  98322fbf97b4f482f1fb2dd5e8fa74a5afe572ba (commit)
  discards  7404112be6f7c8a6f795354db96b8043e8b024c3 (commit)
  discards  f8372124451871f6b9ceb1924a6fcfa3a30ab2ae (commit)
  discards  6993a4012820542b76385229b8d9d995e1838b3d (commit)
  discards  165a84b1239e0b365826145d55cc08562139f719 (commit)
  discards  28cbdcdb9a69dee4451bd909cac873f8c1de1b5a (commit)
  discards  7b3d9c5677735c02defa73b769c783ed5614207d (commit)
  discards  92a13c4c75282eb59c2724718cf9e9632321439f (commit)
  discards  a87f2d4c885344510be669e2ecd69335cac653ee (commit)
  discards  6d46d7ffff282a48fc8d92ab09fc0bd7dfe59560 (commit)
  discards  d6c5b1ba34ee2ef9ee5afc039cf6adc72541f166 (commit)
  discards  a77eda41dc5783156af94e683dbeeac1b0239ee6 (commit)
  discards  8470f8b834fab37cb21832e73a8d00784fb730ba (commit)
  discards  ea79926e32ce7ed1775dd840b0b0263e6ddfe837 (commit)
  discards  9547822015ddb38c2a9602efa37e9399af383a52 (commit)
  discards  b639ab9f66490c0f45c7dd3fe02ed4dc71f1676f (commit)
  discards  6d6050e477df21ce19cb65ff6c97c1848b1acaf6 (commit)
  discards  c8e04ff34a3ba52b9bb90f2b117c43cbbe828645 (commit)
  discards  38e138189ae84f14f9682458298f14dcec10cd7b (commit)
  discards  3b3c2f8eac0dcd7f62226a2178d17bcd63c3605b (commit)
  discards  371b503c73babe6d6aa8999855e2e08367a08908 (commit)
  discards  c5d39f9cb350aa1f628e9fc7d3b731c06e168a3b (commit)
  discards  749187b73803cce6d0afb92fbc78f87882b87fd1 (commit)
  discards  75f403f64d8efafec14f95dc32bcc27271145b9a (commit)
  discards  aeb4a5f1d54191ab64648585ead32e85380f4dc3 (commit)
  discards  54f2dbbda383e969053356a0b9f04e2b94a58472 (commit)
  discards  b2b8e4261e8b30e37f6ebd794a7376e2d2f62789 (commit)
  discards  fcacb5620a7bda2b0ec0681fb2b370f2a3d4efaf (commit)
  discards  a4c27ff472d3cf46f3b824a26a14ae606f3164b1 (commit)
  discards  166bfddd57c181b386559a209703cfabd684e8cb (commit)
  discards  603efebb0540ef32ca44d42a3faa53dcbcf585ba (commit)
  discards  1f7b7fce397273340a6cdb9192e2dd729490efa2 (commit)
  discards  71452813eaaa46bd60f56d504ccb82ee39e606e4 (commit)
  discards  2097eb40c77e0387e63568a9529d77ce4457443d (commit)
  discards  27bca2c3e9a069272c54522e48dc9637ce9078bf (commit)
  discards  71b227f47b24c458b29a852e9fa1c3af67595212 (commit)
  discards  f89f8d70532370d94e0e6d3bfc84857298a559c3 (commit)
       via  20e3ac70283aa347618d370b2ea84f772ea748f0 (commit)
       via  eba177488e67c8bf3ce7ea0f61b3036ad4a33663 (commit)
       via  50b4d2522ac4730a254a5f7e42bdd4c3e1a4b4b5 (commit)
       via  9f0434ca25b055847e1dd02aafa976cae72b6de8 (commit)
       via  e0a2b177e8935c8ded7ddba3c24db39750af7d49 (commit)
       via  dfe4e6671a960a5d919f840999fa16cfee95700d (commit)
       via  7e7624cd5be3049b53d6e6735928281aa03bff68 (commit)
       via  c692fc5e2eb62eb86c85847c79dedb4d87ad564c (commit)
       via  d9e229b08871c6be76e97e7d7281a824c1bdb231 (commit)
       via  07415166b07602f2f2ab721e2b86bfd1c5eabcdd (commit)
       via  5f3e337c8d545e6b4fe968b196d0fcf8c9d75c89 (commit)
       via  8afc916e360a1ae739bb9df6913317eb3990a1ab (commit)
       via  22e0b7c35ebedde333b6fce0fc7f87ee34ff5368 (commit)
       via  35ce91de93be39ff074616264af26a2c155fa97e (commit)
       via  380c13c923463e648322ea57cca90fcf0caa3653 (commit)
       via  fcdc026c8a6af3a4e77f417ea97cb15ada53bada (commit)
       via  a5e8069cca887b28b91f2f2c328e5727bd5af48f (commit)
       via  158559bef88ec70a60128e3c83b41e44eacf223a (commit)
       via  c2c7722a7e4bb35e1e3b8ef49dbf76eedd6d7fa2 (commit)
       via  2d0e537de9318974443fc12f4971b435c0fa47ad (commit)
       via  9e4957801f20a963fd01a1ec7ae134944c215bd3 (commit)
       via  5903193d88e72834fb121f88f17385c91a1dbf2b (commit)
       via  2548cd15aad47df310ac79bfc9388a59b683a29b (commit)
       via  ba46c4048c245507fa8d5529478db9ec67a60cef (commit)
       via  ea51bfd87535bd8f8a00db6d9777fff126ec2deb (commit)
       via  a9370b6b65e3610d78cbf2b805220df923bc2cd5 (commit)
       via  b50af47d4291abd656a28e31a704d19b3e4413eb (commit)
       via  99b0e0ed6c2e05879ef25937df02bc378bd75c79 (commit)
       via  cfbf5fad3f4c77fb8693cce8906e2dd1265edece (commit)
       via  fda5bb5e51a60ad168be5ba86db6b1fe15f7a6c9 (commit)
       via  0faacd6adfa5a0f95c4db27494ebd2795f93e59d (commit)
       via  bbad400c22ec27cf56340e9a36e6c2d73d0906c3 (commit)
       via  7d7dc9d7dbaa304ceba5de97da66655a24910314 (commit)
       via  7a622ad7685e5caf70478baee253bd21b2e984ea (commit)
       via  b2d42f600c7983af938446d7c89973f7bfa8913d (commit)
       via  9303f7711da05dd2da0ed0f82a7bf742f95c6cc9 (commit)
       via  f9d6a998c03d3877e85f03ee6d73c30303dcee48 (commit)
       via  02932b1f53068defb2d7e2417e64f906f64a0863 (commit)
       via  0c2043fd5e01da32aad04d7dce17d461b9428ef3 (commit)
       via  dff981e8a66f3722bf4ed000f51597b73cfc399c (commit)
       via  063c305204286906313f8576fe3cbc4a237d3768 (commit)
       via  ffd5e33f1781ea5e7ccae2e7f19e55f8c5926381 (commit)
       via  6d1c073311150935c2839beab9f665791b536de4 (commit)
       via  c26ced5d519d89b5d5f76b2751c8cd7ec1ce2e54 (commit)
       via  b0c7cb556981a98e6ba24a17f82661bf83b973fe (commit)
       via  a12c6aa033c9b85c0405074b3c96f140c7b4ef62 (commit)
       via  406d0f75ca86d29b53d8b1ad8992092f0d0343ca (commit)
       via  fbd934be94acef01c5bd0d6f54e18735d3d23e07 (commit)
       via  5d80cbe481a0207675120194d0fedbd8744d9a0d (commit)
       via  616967036da9fb4cb0055b8d164599cf236ca1b6 (commit)
       via  c0fa098a5cd6356f4db6fe4fd4ee944436ef3f52 (commit)
       via  3f7958f08b05d251ecbc88ac2988650308e23f3b (commit)
       via  c8f00fa50d8b2d79160611625c651543f382d125 (commit)
       via  f875e7843c00f30c8718a4f9cabd538c60e3eeef (commit)
       via  6d9e14d28cae9c5f619adc5b571674b6ed7db271 (commit)
       via  b6db8d0efb3350f4ed24943366ccffdabdb392bf (commit)
       via  0dd4717063371d6938fbe3c10d9c216830b8ff5d (commit)
       via  56370f4d9b6b08f3a33a38f3ef8a630c32a1c1d6 (commit)
       via  2fe226a6da42d01bfdd7aefbe167a77313dc9760 (commit)
       via  9a9bd05b65fa22fadc498568fe2ebdb41febbd43 (commit)
       via  5c1f1bde495037d2305a6ec8474d1f8394f777b9 (commit)
       via  f553693a66177cf9ebee6174c7bc8f2db1ed848d (commit)
       via  e77b1837869e5482bab28d921b4a64574b19de69 (commit)
       via  fec0a31f41b2996f5756835273c4e8d019bb924d (commit)
       via  611e83347fce7425a9d0cc564165b67819fa9823 (commit)
       via  db1c1222c8eb93be665026c15253162193a24445 (commit)
       via  415c0223fb9527ebabdaf4b96e2d80ab2ed9127f (commit)
       via  5f7570a8d87edd5d82df49062ea5d412f5522ad4 (commit)
       via  2ee77ab28a462aa4fc09897c1800c0b2938e2e4b (commit)
       via  829c060b74f848d06e814c61b789c058f374026d (commit)
       via  eea4c4d4ba1736f836a146ea66c43a155f0c3af9 (commit)
       via  f4a2311dcceda23ffb23051df2b7c43e28bce1f1 (commit)
       via  c93ac1700dc8ebae0b2ae9fffe9f43d8e8618e3f (commit)
       via  495518f4a9d5dbb63809ffbaa775e8d99330caee (commit)
       via  5030f8de1c7608186572c45448cf211f3ca318d2 (commit)
       via  36662e5345c96203487117baea35ec716e359af4 (commit)
       via  c3b4858c8808400456a707204e55bbf0f7b16864 (commit)
       via  32e8ea9ecf88e03b0a74b7cf4503060eb0f8b6df (commit)
       via  25bd330172f8f818274e800197d5e38282db3a92 (commit)
       via  f1d1e7147a32d63b748507a9fc40c71d6a030312 (commit)
       via  72f4da98ce606ffb5cf8c6e6a716fa675d5b8c48 (commit)
       via  d81eaffbca389f6b1b1f580d8119cda0c303da44 (commit)
       via  00774fe702ce437e578021f3edf49cec305f7aa4 (commit)
       via  c9fd1d8ba19aa39cfeffc73eeb8ca19c28c2095f (commit)
       via  ca1cf50eb88540a229027433f26bc1246d93af09 (commit)
       via  0548ac6bbd64cd45cfe9f961a40a8ea0031646c0 (commit)
       via  b8d11ed1c0ba2681786ca27d67f83d9875eff8f5 (commit)
       via  f0773e14f861d4e26985c380865438fa34c34617 (commit)
       via  30116060a0a4a6556140e1a5382b0699971a120c (commit)
       via  b87939de6f3026cb013394d5e80eae76f90ef974 (commit)
       via  c80f56cc64e00cb7fce8c488dd65b9d8e02a8553 (commit)
       via  e224a81f92ebc02dd5bcbba8069801ca1d2b7196 (commit)
       via  2ac47f62ae395902e03f5d7f60598ce937639a8d (commit)
       via  624e2bbb684531c02f549b381f7849b53a64172d (commit)
       via  b8061adb9253611d09b63fd7f2d4229e893cc910 (commit)
       via  22f29e5b9f29ad1e877b42357b9f36e8f81cc402 (commit)
       via  84013beff1abd2142bbd2ef1e2b057eb24ef7815 (commit)
       via  8d1043a10fb85ffa0b20df35e511e1962fa93e10 (commit)
       via  a1f9834fad92ed0ace715d4e676316a4aeec7338 (commit)
       via  0f1cfc198617ebb5b63fadb81c4daf94aa4c7b91 (commit)
       via  dfe48fdecf5e953fa5c08053e8781d4daf6ad4a4 (commit)
       via  af9a9b0b44323b4722e7ffbe478d91380f1d8056 (commit)
       via  87ef68eb33d463d8aad1511a272cbdb779f1ba19 (commit)
       via  f926f45c4bb8d261cdbefec6aba65a167c6bbc92 (commit)
       via  194b4cb4fd2bc7c0ca71fad14a314a517f5d4415 (commit)
       via  b4ecc1d43b147d7b42ba4822727b713ce5074794 (commit)
       via  6bbcfbb78c1024c8e32598ca068bd06c586aaac9 (commit)
       via  8136e4b9afcf554e129a2dda40c456d81d025bc5 (commit)
       via  7975ddf0ec2e59579331b5aa997e8057ae8d7cbc (commit)
       via  4579978983f5f816b1fdc5c6389633ab0b666d80 (commit)
       via  46edbc4162634bba5247f9c0b0915ea09917d15c (commit)
       via  686f4d6a8509088ebd42f63c971bfffa313ff405 (commit)
       via  424656e527df460656e46a0430f40c90edec7529 (commit)
       via  591e1d7daa6839c9a02714b7420206ca4542aafe (commit)
       via  b748012d3186209c0f4c38ebb7113ce7c60e333b (commit)
       via  350f93e1e4de0bc0201518adeb58faefd0a16fe7 (commit)
       via  0c566a444b1cb479dce58df091d2ad5e32d21da0 (commit)
       via  5e5d94cd1b81e3ac0cd9b4423567d56394f15fac (commit)
       via  d37981e8f7151c6a5733f52f3209372fe96d2e59 (commit)
       via  b4cb83809226218db18d650aa9c8700370501d37 (commit)
       via  05adbdcb2eabaca8426356ade5ca24a1be6e96d2 (commit)
       via  87c00564805d9f55f168831cd52cf3f869d70637 (commit)
       via  ae9beda1506ab06d898a4ec26bfd53d8fc211614 (commit)
       via  1b76a03cddcfb52c1ebd5a6f0d990128058a516c (commit)
       via  8c53c59bfb1bc16347a60d5e15113c70d289ac93 (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 (961766d743e2378d3e858ee0598b766c18f7000d)
             N -- N -- N (20e3ac70283aa347618d370b2ea84f772ea748f0)

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 20e3ac70283aa347618d370b2ea84f772ea748f0
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sun Nov 6 23:37:02 2016 +0100

    Change-Id: I9e824d9a57251f5144500765f9b7bfe7f02a16c4

commit eba177488e67c8bf3ce7ea0f61b3036ad4a33663
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 50b4d2522ac4730a254a5f7e42bdd4c3e1a4b4b5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:35:57 2016 +0200

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

commit 9f0434ca25b055847e1dd02aafa976cae72b6de8
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 e0a2b177e8935c8ded7ddba3c24db39750af7d49
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:32:10 2016 +0200

    mgcp: log payload type change
    Change-Id: Iee5fa667dece12174b1933345c1ed640a264ed97

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

    mgcp debug logging
    Change-Id: I06a060244e91080680e88551e870f0058711921f

commit 7e7624cd5be3049b53d6e6735928281aa03bff68
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 c692fc5e2eb62eb86c85847c79dedb4d87ad564c
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Oct 18 18:38:59 2016 +0200

    mgcp parsing, mgcp test
    Change-Id: Ibe2ab17b3fa3a506a2e841ba979ea4175e3a21e8

commit d9e229b08871c6be76e97e7d7281a824c1bdb231
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 07415166b07602f2f2ab721e2b86bfd1c5eabcdd
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 5f3e337c8d545e6b4fe968b196d0fcf8c9d75c89
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 8afc916e360a1ae739bb9df6913317eb3990a1ab
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 22e0b7c35ebedde333b6fce0fc7f87ee34ff5368
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 35ce91de93be39ff074616264af26a2c155fa97e
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 380c13c923463e648322ea57cca90fcf0caa3653
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 fcdc026c8a6af3a4e77f417ea97cb15ada53bada
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 a5e8069cca887b28b91f2f2c328e5727bd5af48f
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 158559bef88ec70a60128e3c83b41e44eacf223a
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 c2c7722a7e4bb35e1e3b8ef49dbf76eedd6d7fa2
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Sep 20 18:18:26 2016 +0200

    mgcp dbg log
    Change-Id: I56fda48edaa92abfc6e3886cdfce733bb0686f73

commit 2d0e537de9318974443fc12f4971b435c0fa47ad
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 9e4957801f20a963fd01a1ec7ae134944c215bd3
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 5903193d88e72834fb121f88f17385c91a1dbf2b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:28:35 2016 +0200

    bridge calls via mgcpgw
    Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a

commit 2548cd15aad47df310ac79bfc9388a59b683a29b
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 ba46c4048c245507fa8d5529478db9ec67a60cef
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 ea51bfd87535bd8f8a00db6d9777fff126ec2deb
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 a9370b6b65e3610d78cbf2b805220df923bc2cd5
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 b50af47d4291abd656a28e31a704d19b3e4413eb
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 99b0e0ed6c2e05879ef25937df02bc378bd75c79
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 cfbf5fad3f4c77fb8693cce8906e2dd1265edece
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 fda5bb5e51a60ad168be5ba86db6b1fe15f7a6c9
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 0faacd6adfa5a0f95c4db27494ebd2795f93e59d
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 bbad400c22ec27cf56340e9a36e6c2d73d0906c3
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 7d7dc9d7dbaa304ceba5de97da66655a24910314
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 13:21:55 2016 +0200

    cosmetic: remove legacy comment from gsm0408_loc_upd_rej()

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

    cosmetic: make gsm0408_loc_upd_rej() static

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

    remove handle_abisip_signal()
    Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41

commit f9d6a998c03d3877e85f03ee6d73c30303dcee48
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 02932b1f53068defb2d7e2417e64f906f64a0863
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 0c2043fd5e01da32aad04d7dce17d461b9428ef3
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:11:39 2016 +0200

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

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

    comment on mscsplit, indent comment

commit ffd5e33f1781ea5e7ccae2e7f19e55f8c5926381
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 6d1c073311150935c2839beab9f665791b536de4
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 c26ced5d519d89b5d5f76b2751c8cd7ec1ce2e54
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:21:58 2016 +0200

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

commit b0c7cb556981a98e6ba24a17f82661bf83b973fe
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 a12c6aa033c9b85c0405074b3c96f140c7b4ef62
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 406d0f75ca86d29b53d8b1ad8992092f0d0343ca
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 fbd934be94acef01c5bd0d6f54e18735d3d23e07
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 5d80cbe481a0207675120194d0fedbd8744d9a0d
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 616967036da9fb4cb0055b8d164599cf236ca1b6
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 c0fa098a5cd6356f4db6fe4fd4ee944436ef3f52
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 3f7958f08b05d251ecbc88ac2988650308e23f3b
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 c8f00fa50d8b2d79160611625c651543f382d125
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:11:25 2016 +0200

    auth log
    Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef

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

    iu auth wip
    Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03

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

    Iu auth wip
    Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14

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

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

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

    add gsm_encr to subscr_conn
    Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b

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

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

commit 5c1f1bde495037d2305a6ec8474d1f8394f777b9
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 f553693a66177cf9ebee6174c7bc8f2db1ed848d
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 e77b1837869e5482bab28d921b4a64574b19de69
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 fec0a31f41b2996f5756835273c4e8d019bb924d
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 611e83347fce7425a9d0cc564165b67819fa9823
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 db1c1222c8eb93be665026c15253162193a24445
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 415c0223fb9527ebabdaf4b96e2d80ab2ed9127f
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 5f7570a8d87edd5d82df49062ea5d412f5522ad4
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 2ee77ab28a462aa4fc09897c1800c0b2938e2e4b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:58:46 2016 +0200

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

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

    add iucs.[hc]
    Change-Id: I88e981f4c31393a98ae8d61176c65c9251a6f28b

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

    add DIUCS debug log constant
    Change-Id: Id347a3024fa495a1ab680db7320648d933a4018b

commit f4a2311dcceda23ffb23051df2b7c43e28bce1f1
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 c93ac1700dc8ebae0b2ae9fffe9f43d8e8618e3f
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 495518f4a9d5dbb63809ffbaa775e8d99330caee
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 5030f8de1c7608186572c45448cf211f3ca318d2
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 36662e5345c96203487117baea35ec716e359af4
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 c3b4858c8808400456a707204e55bbf0f7b16864
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 32e8ea9ecf88e03b0a74b7cf4503060eb0f8b6df
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:13:32 2016 +0200

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

commit 25bd330172f8f818274e800197d5e38282db3a92
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 f1d1e7147a32d63b748507a9fc40c71d6a030312
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 72f4da98ce606ffb5cf8c6e6a716fa675d5b8c48
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 d81eaffbca389f6b1b1f580d8119cda0c303da44
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 00774fe702ce437e578021f3edf49cec305f7aa4
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 c9fd1d8ba19aa39cfeffc73eeb8ca19c28c2095f
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 ca1cf50eb88540a229027433f26bc1246d93af09
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 0548ac6bbd64cd45cfe9f961a40a8ea0031646c0
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 b8d11ed1c0ba2681786ca27d67f83d9875eff8f5
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 f0773e14f861d4e26985c380865438fa34c34617
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 30116060a0a4a6556140e1a5382b0699971a120c
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 b87939de6f3026cb013394d5e80eae76f90ef974
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 c80f56cc64e00cb7fce8c488dd65b9d8e02a8553
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 e224a81f92ebc02dd5bcbba8069801ca1d2b7196
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 2ac47f62ae395902e03f5d7f60598ce937639a8d
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 624e2bbb684531c02f549b381f7849b53a64172d
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 b8061adb9253611d09b63fd7f2d4229e893cc910
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 22f29e5b9f29ad1e877b42357b9f36e8f81cc402
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 84013beff1abd2142bbd2ef1e2b057eb24ef7815
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 8d1043a10fb85ffa0b20df35e511e1962fa93e10
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 a1f9834fad92ed0ace715d4e676316a4aeec7338
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 0f1cfc198617ebb5b63fadb81c4daf94aa4c7b91
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/.gitignore                                 |    1 +
 openbsc/                               |    1 +
 openbsc/include/openbsc/                |    1 +
 openbsc/include/openbsc/abis_om2000.h              |   12 +-
 .../{misdn.h => bts_ipaccess_nanobts_omlattr.h}    |   23 +-
 openbsc/include/openbsc/gsm_data.h                 |   10 +
 openbsc/include/openbsc/gsm_data_shared.h          |   42 +
 openbsc/src/gprs/gprs_sndcp_comp.c                 |    2 +-
 openbsc/src/gprs/gprs_sndcp_pcomp.c                |    1 +
 openbsc/src/gprs/gprs_sndcp_xid.c                  |   25 +-
 openbsc/src/gprs/sgsn_libgtp.c                     |   15 +-
 openbsc/src/libbsc/                     |    1 +
 openbsc/src/libbsc/abis_om2000.c                   | 1492 +++++++++++++++++---
 openbsc/src/libbsc/abis_om2000_vty.c               |   12 +
 openbsc/src/libbsc/abis_rsl.c                      |   65 +-
 openbsc/src/libbsc/bsc_api.c                       |   14 +-
 openbsc/src/libbsc/bsc_vty.c                       |   56 +-
 openbsc/src/libbsc/bts_ericsson_rbs2000.c          |  127 +-
 openbsc/src/libbsc/bts_ipaccess_nanobts.c          |  240 +---
 openbsc/src/libbsc/bts_ipaccess_nanobts_omlattr.c  |  232 +++
 openbsc/src/libcommon/talloc_ctx.c                 |    1 +
 openbsc/src/libmgcp/mgcp_network.c                 |    6 +
 openbsc/src/libmsc/gsm_04_08.c                     |    4 +-
 openbsc/src/libmsc/mncc_builtin.c                  |    2 +
 openbsc/src/libmsc/msc_ifaces.c                    |    2 +-
 openbsc/src/osmo-bsc_nat/bsc_nat_utils.c           |    2 +-
 openbsc/src/osmo-cscn/cscn_main.c                  |   33 +-
 openbsc/src/osmo-cscn/iucs_ranap.h                 |    1 -
 openbsc/src/utils/bs11_config.c                    |    4 +-
 openbsc/tests/                          |    1 +
 .../tests/{gsm0408 => nanobts_omlattr}/ |   12 +-
 .../tests/nanobts_omlattr/nanobts_omlattr_test.c   |  284 ++++
 .../tests/nanobts_omlattr/nanobts_omlattr_test.ok  |   26 +
 openbsc/tests/slhc/slhc_test.c                     |    2 +
 openbsc/tests/                         |    6 +
 openbsc/tests/v42bis/v42bis_test.c                 |    1 +
 36 files changed, 2141 insertions(+), 618 deletions(-)
 copy openbsc/include/openbsc/{misdn.h => bts_ipaccess_nanobts_omlattr.h} (57%)
 create mode 100644 openbsc/src/libbsc/bts_ipaccess_nanobts_omlattr.c
 copy openbsc/tests/{gsm0408 => nanobts_omlattr}/ (71%)
 create mode 100644 openbsc/tests/nanobts_omlattr/nanobts_omlattr_test.c
 create mode 100644 openbsc/tests/nanobts_omlattr/nanobts_omlattr_test.ok

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

More information about the osmocom-commitlog mailing list