openbsc.git branch neels/mgcp updated. 0.15.0-638-gcd08f65

gitosis at gitosis at
Thu Nov 24 15:59:22 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  9f6bbeb2cdf69c35cfc93d79d15e4576aff54fc2 (commit)
  discards  5c3d05c9e5a9832b4d4f855329d8355c402951c0 (commit)
  discards  9cdf37692ab673b7297613d7d0b808a3670fd9c0 (commit)
  discards  c14555872ca893ad9c4ec54c7fabfe7869e5ff69 (commit)
  discards  8e6c5101ca6840f752c3feb5bcc8838a9579dbb8 (commit)
  discards  c11fb5d16ed6422b20daeacc5439d9111b82420a (commit)
  discards  36c9f5170524f223d9df868f1c69cb42c7e15848 (commit)
  discards  0d13ae5260df914a32cb9cea8faa815e12c1a157 (commit)
  discards  0b0d05a1e745dffabeff0d9717b5b14cf1aa92ea (commit)
  discards  0e7892390b1e4d1153e4e2f994f7139964da3768 (commit)
  discards  736708d453379cbd645e800ff19568faf8066c53 (commit)
  discards  9d6e76348cdb2240aecf734b76087ac8959f8295 (commit)
  discards  6dd161c7ce49ee2807b0e1319fbb9e7e38d8cdf9 (commit)
  discards  c238dc9a84ec663d41bf38fce979a62a9c7f6584 (commit)
  discards  407cec74013e312061f842b4203bb419d5709c23 (commit)
  discards  1c30c5d8b9da347e6d7708ef1a24f6413d465199 (commit)
  discards  6c96adcf41acf79db3e676824353e79c728f8911 (commit)
  discards  f5ff950895bf56a9d7933078bd64a519a1aa5398 (commit)
  discards  97d4ff9e4fc981620f504e7cf359b62a8733f42d (commit)
  discards  5eba8df45fbfc2477bd507b0667a848036747334 (commit)
  discards  c9337198d68c88b22ecb45118b1c50de88805b8a (commit)
  discards  068e1555b0c377005b7ddcadb63d5d23fa34a918 (commit)
  discards  10d4d0bd9aba20eb19e7a6952040953da6246f2a (commit)
  discards  41ae3242b0b0d3725e207ee2fb0859cca0f1b4db (commit)
  discards  7b79d1018e5ab06e6f4d89ea62ebb18f27829148 (commit)
  discards  13a5c631c1fb7c50b25736eb6de275fe72022e97 (commit)
  discards  c970d012b0ab1d033bf0f37ff9ea708df2f14bfe (commit)
  discards  3bab10d0a85cf28f803c1ea1c5074e0dc0220ac9 (commit)
  discards  f0d3a551f870338063ba80fa6ceb7904fa1561c0 (commit)
  discards  bb8d495d9830af34a33e814199b6cdacfdf9ec55 (commit)
  discards  cb49ff38b71b1707d07881edc1fe727045df1bee (commit)
  discards  edaa0158a6af2fe4097315ccc321598557d733fa (commit)
  discards  a92215e36b65252544f1d7d35740311875d15db8 (commit)
  discards  539a08aedc48bd2165ce4c490dc74c2db234a0d6 (commit)
  discards  6e4c08241a1441214fce0e577ac2c8bbaae797c3 (commit)
  discards  4a3dc708c2cd9a95bb727989b1e1cd383e45916d (commit)
  discards  411e1fc36eefb6ce3e0f0c90ee4409a6c075e68c (commit)
  discards  cf1000536568944addf8ae1bbd172139138b80c8 (commit)
  discards  4e6ea9db143d34bf870165c84f84b1fbe5574222 (commit)
  discards  b430dc6af08213eca1e13935ec2caed17b057b19 (commit)
  discards  5c13afd3e19c0bb232b98371fa2886df780b3aaf (commit)
  discards  e5e4248faff772566f9edf600972b7dc2966c8a7 (commit)
  discards  326bfb97f26fdd6b2d5c3ef79808b345bcc559af (commit)
  discards  3b48ea792d6de41d6c99c4417a38ed17446bdcc2 (commit)
  discards  a95f9699f2cc076a33ce1dff4d233da59e414c2e (commit)
  discards  a285cee2e832277453b22ff541db979b9e39702c (commit)
  discards  9887fc14e984168ba37f0dca0beba16244f05ba8 (commit)
  discards  43c7cd5e6ea507908a6a2a6e7599243fd0421a78 (commit)
  discards  4bd164f56cb81600399d30fb67af04e67678aa88 (commit)
  discards  e5fd674c88957bb43579108439881cfcb973f990 (commit)
  discards  6cb8dc13d5c670475a323c04651115acff009c57 (commit)
  discards  c5021cac477d5531503ee13ca43f7b60582f78b6 (commit)
  discards  09dafd4b89ef212555ab9dada1dd071fefc129d7 (commit)
  discards  d2884491aea3a049a67f255ee05868eeddf252b2 (commit)
  discards  5fa37c0eb828291da2b6340d402bb8b1d60409b1 (commit)
  discards  b41a2117b38a6426c5a06bd3c733d36fed2eac8d (commit)
  discards  8775a1afcffe5dc7fd636c67b7d181b1e7ff97d0 (commit)
  discards  8ebbd43441fab75de61a306140382193b6531848 (commit)
  discards  454ae6ff16a46e71b9700191b944c9bf4e98a142 (commit)
  discards  ba9f7afc5571926e33cf4f05dcf661a7c5049229 (commit)
  discards  3472cca652e1c96e76286be746105da25dd34736 (commit)
  discards  c078aa0d5291c8845501505ff5f0a3490402f585 (commit)
  discards  1f98bb286e8fbb0b9f2267b51afe0508bd6065a8 (commit)
  discards  937bebaea21d48604a1a1f4a49ac681cfdaa358f (commit)
  discards  9c90e4a950a1eb9c99af40c73a4422eb582e4b5f (commit)
  discards  513706fddb7c84885c4ec2e5c786aa014115503f (commit)
  discards  172258d7f63ab7b4714f1803cb7ebf4fff0285e5 (commit)
  discards  b750e04e992bdf3deba3cd1a7f491fb57d3177e2 (commit)
  discards  946f3e82ee9a88f894f54f3c1697489b90092aaf (commit)
  discards  915946978c16fba750322690cec76a1821060c0c (commit)
  discards  7e2a00bfdfda952da2c9b8880429a803be45530a (commit)
  discards  bac47d648e324893718289005a137f1079dd6645 (commit)
  discards  82a7b3e43c7d5e79d245003ebc8894e816a9100a (commit)
  discards  26ad3eab89827b4dab5838e0717dbf44cc763c71 (commit)
  discards  88b45f315a4b0afc1c9cfa5e2fa4449dd4aa5d29 (commit)
  discards  73695c604371068d783df68b11cb8f013dad91bd (commit)
  discards  8a1d26cfbab6fc361854958b467690fca6582894 (commit)
  discards  dc218c508dac8ccd1170a9372e25b052fa45d886 (commit)
  discards  f42edce2e2878a13c183766671518c733855bb4e (commit)
  discards  f2334d3c298ea7c8264d0978dfd362e09f5d823a (commit)
  discards  cedf574e4d25a42e6ab0cb49eeac630470228ac5 (commit)
  discards  a88af9983cec8b34f7465901614883e1a59dc3a9 (commit)
  discards  c8dbb56d94d976060b711b39a869c58bead47cc3 (commit)
  discards  072bd2c8c6d5ab0ac35a45061a0108a7ec1317aa (commit)
  discards  a91576179c1e642967129d25ed9eb55642ae71ab (commit)
  discards  55d3eccf6bfe8c4e7ced960b61e0a4a9c80d4648 (commit)
  discards  b184ace3a844c1489c8633b8a1c560eb4b906b35 (commit)
  discards  a803e38703bcb64e564ffed08e8b791d54d1ef4b (commit)
  discards  127efd7312fdd85b34945c3a8ee00eaa93a8c099 (commit)
  discards  971c2f8337d19d08f9f147001d14515530ac4f1d (commit)
  discards  48c3927dad42de80b9c495f33182da4769373300 (commit)
  discards  7b67dfbd0de2fd7885af064b0b2952b4be103169 (commit)
  discards  de693c67c22e38fdc9119877c14b29827e7dfc08 (commit)
  discards  edc6ba267911bc666b5a735e2b2b7e7d6112d347 (commit)
  discards  2e9a734fe9cd6e7bc5fa35b56b3f640288ebedc4 (commit)
  discards  e3b9f8c488050c0e4d84b29f021f3343e3c1baf5 (commit)
  discards  ec78efb6924acb5dead84a04fe2d9190acf6d28d (commit)
  discards  414b54a3082ddc195f39d65aa868150083e1365c (commit)
  discards  d3176393651ff6566dfe60a97016273261c2ab41 (commit)
       via  cd08f656f437f040272a4c32bf3bff49fe241270 (commit)
       via  58807a38031b418e5bc65559de19a879362d6f2a (commit)
       via  3afd950ae982e1bc362e480e85afcd42ce92144d (commit)
       via  187fb56100622375d6af032dcf09fb8398f8f0ac (commit)
       via  9676cb313f00ffb51cea14e0434f985bcc3a8cb5 (commit)
       via  1271e366a1f5574d8a1347437d9874577a86c21f (commit)
       via  3f22f2ca3a9404eb6499a521b88eec5609bce9ab (commit)
       via  f33e96598b7e6aa6efb90342609d2c2b5b5981b1 (commit)
       via  4fa2bf3974b0e27afacc2ea63004eaef46970d26 (commit)
       via  2ea8ad5863f4842df74387697e4333e012702b06 (commit)
       via  cb2cffff5c1a6a7acf2c3510edfc2a2419a55b88 (commit)
       via  b273b2a7f6d612ca5915af1dd86fc66dd9fa938b (commit)
       via  5d8d56e0c1f0455c821926599c97cac7ad07b8eb (commit)
       via  8fd125ea70b218304270a6fb979fbfc420552f52 (commit)
       via  b25182fc7bd06ba1c7c0c853fab6027047b2498a (commit)
       via  7095681d9b7945cca8fa0024e3fd01dbbe0794fc (commit)
       via  268301a0857b787419971b4f0493438a644a8341 (commit)
       via  bdea0865970bd67a2a54dac90c0c3a43ad30186a (commit)
       via  8b30142f20de0c931fcf4969ea3454ef0d289573 (commit)
       via  8a46a7eaa5d84034d9a2f7f6a1f289d8fb50e5e6 (commit)
       via  c5a5215435e4d099537f0a178392562a8077970e (commit)
       via  d1ceb681d184532421136acf6d47dbf8337d7643 (commit)
       via  9e47dfe62eea15babfd810724d389c565534508e (commit)
       via  03513b3e40fbba3b81dfca842f2d231ccd13362d (commit)
       via  e604fdfe944d10c2807860a1e575aac576ed123f (commit)
       via  27c0205e8f450828ea04f7bfc7eae21b3bcbeff7 (commit)
       via  5fd253114ff9b1605ecd524d2abe6055608101b8 (commit)
       via  702cd68d3a553981371eeb67b95b0d9bdb07e307 (commit)
       via  64f1d43569eb803bedfeaa02e8fcdd1471fe278e (commit)
       via  2affc0542907ec132468dbafe813774b241c34da (commit)
       via  4c3c3a83cd58a6cac88e5da1782ea09a8f36922c (commit)
       via  721d79eebe05eff30d245ebd5c864bec4ec2f690 (commit)
       via  d507ed1df95902699428b4a66d1dc07e57d16207 (commit)
       via  e7020e043b577ba7d8f9f4a20ab888ab49ade7b2 (commit)
       via  6ed0c862aa484f39e2d2c7c2bc58e8832efc7df1 (commit)
       via  b1b7e781e437f21edfc02099eb4196276281c405 (commit)
       via  21dd84cc72d30266df2f378497d6283fe3f73b5a (commit)
       via  da00351e1be9490e4085a7c55fb50f3f3b71c24b (commit)
       via  43984b4a1e6fd96010c2b842382232236e9c5ac1 (commit)
       via  cf3e72ca1764fcc0b90021a18ae333c4d8dc5492 (commit)
       via  6752a06990a82a6f98ad7fa7e7574253c734effe (commit)
       via  9b66d948bf88b42484d6374cb307a388d85e45ea (commit)
       via  f9a69400a7dfc35bffb683eeff95c5660002a39d (commit)
       via  4b78e2cda34a592881d8cfdeea6affbb59ccf2f9 (commit)
       via  ba5e4a2d26a5792700676cea343eeae5ed31b228 (commit)
       via  19ebeab00643801c807ebec5f94ff9e697615d1d (commit)
       via  55b70e9800ab782c2d61ebd5cec543e47c5407c0 (commit)
       via  2e9d702d6b2f826e8eb30722a062aad64553a653 (commit)
       via  4c3f846456d814153c4a9ec2344b9424afb96425 (commit)
       via  bad0021e2d3dd03bd97da2578a3b4bed2844f66c (commit)
       via  1825e3cdceb3b90be49f0067f2761e316c4f0db9 (commit)
       via  246332887bfb7748c49435595cc822a9ca93f6a5 (commit)
       via  547f186a707603273483cfe7f5758d4ee8c0938f (commit)
       via  705e1f3200c73903d2c8d4377e44c4fc237d85b7 (commit)
       via  3cbfd017d38dcd28fd7630534f4f949a373e1077 (commit)
       via  92ca7342bd36c376b443959eac7be506ed3de416 (commit)
       via  ab21249ba339100cde146a7f574cfd44b17902a0 (commit)
       via  58eb38da4ef7982a5de77a3a6aab6a628a8af417 (commit)
       via  b811b8308ed7c5043bcaedbf9f6913c280863efe (commit)
       via  5ccbbce70550e714dd6133a06d8eb666a77d96ef (commit)
       via  691dda840b414d31deda70453fb19f0abdf79bd0 (commit)
       via  bef38f88ccea719365795bab5ea8d4f739818c5e (commit)
       via  6952c57e34c17271f49ee5d37f08f4fe74cb541b (commit)
       via  5c0fecef729208bcbd49bf2b32a87a9aefc81e32 (commit)
       via  0f09b2eb234c5c84118772a9789c2a447fa35835 (commit)
       via  9d4d4a9e4a9821736c7d7f2b9947d98eaf561746 (commit)
       via  9a2941109887d7e4cae5ac50032abfa50abf80c4 (commit)
       via  df75ff4e3f90353bfc9d233f94219eb006b4bc39 (commit)
       via  9c6fbb72211acbc311e2fbb4ad607d6201e1ca83 (commit)
       via  9215e34f46da2dd9f3c559784cfad1885bf0e6b5 (commit)
       via  12a0e654208bf6bc25bcef98c1509a80d98524dd (commit)
       via  23b54d9a39e9c7e9ca42120ebcc7f4d89021b7f2 (commit)
       via  6faeaf0cb7d5a0bbd48963564937acb5164b8d9c (commit)
       via  633167b97049bef3dfa0db5614c402c3202df83f (commit)
       via  f1560ee3cb12a3aabc15189149716857ce20785b (commit)
       via  80f4b3294942692a8bebc65b47b58ce5b64d8ef7 (commit)
       via  fe2ec110713c90cf8b4ed5da7632fa57a8ec23a8 (commit)
       via  90346ac4ae9c840fd03fe824c1dc85a94f25dda2 (commit)
       via  97a85627eac7cb4f37094d9cb7ec0f6b6204f714 (commit)
       via  a4f36911d881823f7d65ba0b197a38892d9a256a (commit)
       via  dea230fed833d1bb28851cfcf2ec604e22fd7eeb (commit)
       via  a201693636c1e7161449926eb924702e1ad721a7 (commit)
       via  f66bfdce86824a652e2183d2837e868aefb27302 (commit)
       via  47a224be84b8e4155deb5acf8a9f9efc47fbab69 (commit)
       via  d5577f20b828797c48dfe84a219394e6ed134c2c (commit)
       via  fa22958877caa5c6afaf6bf3992004a129a6810a (commit)
       via  391cbb55e60ba4d1260639aee58df6a6d226f0b2 (commit)
       via  44b00533ed0172c9a5cafe5e1dbddcaedb15cd7d (commit)
       via  70af2887fac18317c271446aa4e1875646eda683 (commit)
       via  7d12a00270c60896c17db3e8d98e72efc2fa23bd (commit)
       via  cafb184eb1d57a2c168df7d8772dff860c605e40 (commit)
       via  e225c750d987f3738b5b14a94dd464f5b3e6c160 (commit)
       via  7b4380746197ae0f693f0313f2431ab87474b471 (commit)
       via  28f637ec2ca556896fce345f6dcb9b871a5ada53 (commit)
       via  e78ae21ff44a7442be065b67b827efcd10de34fc (commit)
       via  2d521a0296fdecc1a8cb337354654123a864015b (commit)
       via  27681a3407e2bde5cf3566aeabc7acbe2023f6e2 (commit)
       via  402006dfdf84c3bf3b22a48ba6ef6922ff6991c7 (commit)
       via  c69ee8527c8ec88bdbff820d0a8aa706502516a5 (commit)
       via  16606c9007ae97bbb0ca796384381b4decceee91 (commit)
       via  5085e0bf4c9674fb26754fd16b8e0c58113e1638 (commit)
       via  26f6ced05c8311a93eb4b9c6228ceeb2559c57d0 (commit)
       via  80ccb952676cb4a068410991c5d53d19f228f695 (commit)
       via  96638d141e43cc299c2927c600802764fa9b0ebb (commit)
       via  309425e10549c4e3db8c6a95731fbeb24276ffbf (commit)
       via  38cba5aa7972260c4444ecea3fd47651a5d54059 (commit)
       via  fb89b9b00b6be88d3822fc206f117660e038a046 (commit)
       via  c04c6ed4af36afa414f6f9a1828a131c0d30c4ce (commit)
       via  7d3093506ad9621caf2a5af11602ec081ab76480 (commit)
       via  bb42eee11310eb03526138d38a8af7d705500253 (commit)
       via  beade314d0f747fa6e77df85931fd7f4251ff2df (commit)
       via  58273f4b885326fc9ae65b70ddc44f1fe655cf5e (commit)
       via  eae68292bdd3906950260ac307081af4b3acf3e5 (commit)
       via  fe7be8ddd0563ee98ca2ee9879983384d2491306 (commit)
       via  c1efa67c131a005903821a7487bad014b90cbe08 (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 (9f6bbeb2cdf69c35cfc93d79d15e4576aff54fc2)
             N -- N -- N (cd08f656f437f040272a4c32bf3bff49fe241270)

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

    Change-Id: I9e824d9a57251f5144500765f9b7bfe7f02a16c4

commit 58807a38031b418e5bc65559de19a879362d6f2a
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 3afd950ae982e1bc362e480e85afcd42ce92144d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:35:57 2016 +0200

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

commit 187fb56100622375d6af032dcf09fb8398f8f0ac
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 9676cb313f00ffb51cea14e0434f985bcc3a8cb5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Oct 21 01:32:10 2016 +0200

    mgcp: log payload type change
    Change-Id: Iee5fa667dece12174b1933345c1ed640a264ed97

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

    mgcp debug logging
    Change-Id: I06a060244e91080680e88551e870f0058711921f

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

    mgcp parsing, mgcp test
    Change-Id: Ibe2ab17b3fa3a506a2e841ba979ea4175e3a21e8

commit 4fa2bf3974b0e27afacc2ea63004eaef46970d26
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 2ea8ad5863f4842df74387697e4333e012702b06
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 cb2cffff5c1a6a7acf2c3510edfc2a2419a55b88
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 b273b2a7f6d612ca5915af1dd86fc66dd9fa938b
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 5d8d56e0c1f0455c821926599c97cac7ad07b8eb
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 8fd125ea70b218304270a6fb979fbfc420552f52
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 b25182fc7bd06ba1c7c0c853fab6027047b2498a
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 7095681d9b7945cca8fa0024e3fd01dbbe0794fc
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 268301a0857b787419971b4f0493438a644a8341
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 bdea0865970bd67a2a54dac90c0c3a43ad30186a
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 8b30142f20de0c931fcf4969ea3454ef0d289573
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue Sep 20 18:18:26 2016 +0200

    mgcp dbg log
    Change-Id: I56fda48edaa92abfc6e3886cdfce733bb0686f73

commit 8a46a7eaa5d84034d9a2f7f6a1f289d8fb50e5e6
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 c5a5215435e4d099537f0a178392562a8077970e
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 d1ceb681d184532421136acf6d47dbf8337d7643
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu Sep 22 20:28:35 2016 +0200

    bridge calls via mgcpgw
    Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a

commit 9e47dfe62eea15babfd810724d389c565534508e
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 03513b3e40fbba3b81dfca842f2d231ccd13362d
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 e604fdfe944d10c2807860a1e575aac576ed123f
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 27c0205e8f450828ea04f7bfc7eae21b3bcbeff7
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 5fd253114ff9b1605ecd524d2abe6055608101b8
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 702cd68d3a553981371eeb67b95b0d9bdb07e307
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 64f1d43569eb803bedfeaa02e8fcdd1471fe278e
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 2affc0542907ec132468dbafe813774b241c34da
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 4c3c3a83cd58a6cac88e5da1782ea09a8f36922c
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 721d79eebe05eff30d245ebd5c864bec4ec2f690
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 d507ed1df95902699428b4a66d1dc07e57d16207
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 9 13:20:54 2016 +0200

    cosmetic: make gsm0408_loc_upd_rej() static

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

    remove handle_abisip_signal()
    Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41

commit b1b7e781e437f21edfc02099eb4196276281c405
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 21dd84cc72d30266df2f378497d6283fe3f73b5a
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 da00351e1be9490e4085a7c55fb50f3f3b71c24b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:11:39 2016 +0200

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

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

    comment on mscsplit, indent comment

commit 6752a06990a82a6f98ad7fa7e7574253c734effe
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 9b66d948bf88b42484d6374cb307a388d85e45ea
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 f9a69400a7dfc35bffb683eeff95c5660002a39d
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Wed May 11 14:21:58 2016 +0200

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

commit 4b78e2cda34a592881d8cfdeea6affbb59ccf2f9
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 ba5e4a2d26a5792700676cea343eeae5ed31b228
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 19ebeab00643801c807ebec5f94ff9e697615d1d
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 55b70e9800ab782c2d61ebd5cec543e47c5407c0
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 2e9d702d6b2f826e8eb30722a062aad64553a653
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 4c3f846456d814153c4a9ec2344b9424afb96425
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 bad0021e2d3dd03bd97da2578a3b4bed2844f66c
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 1825e3cdceb3b90be49f0067f2761e316c4f0db9
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 246332887bfb7748c49435595cc822a9ca93f6a5
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Fri Aug 12 16:11:25 2016 +0200

    auth log
    Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef

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

    iu auth wip
    Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03

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

    Iu auth wip
    Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14

commit 3cbfd017d38dcd28fd7630534f4f949a373e1077
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 92ca7342bd36c376b443959eac7be506ed3de416
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:07:23 2016 +0200

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

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

    add gsm_encr to subscr_conn
    Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b

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

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

commit 5ccbbce70550e714dd6133a06d8eb666a77d96ef
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 691dda840b414d31deda70453fb19f0abdf79bd0
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 bef38f88ccea719365795bab5ea8d4f739818c5e
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 6952c57e34c17271f49ee5d37f08f4fe74cb541b
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 5c0fecef729208bcbd49bf2b32a87a9aefc81e32
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 0f09b2eb234c5c84118772a9789c2a447fa35835
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 9d4d4a9e4a9821736c7d7f2b9947d98eaf561746
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 14:59:02 2016 +0200

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

commit 9a2941109887d7e4cae5ac50032abfa50abf80c4
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 df75ff4e3f90353bfc9d233f94219eb006b4bc39
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 14:58:46 2016 +0200

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

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

    add iucs.[hc]
    Change-Id: I88e981f4c31393a98ae8d61176c65c9251a6f28b

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

    add DIUCS debug log constant
    Change-Id: Id347a3024fa495a1ab680db7320648d933a4018b

commit 12a0e654208bf6bc25bcef98c1509a80d98524dd
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 23b54d9a39e9c7e9ca42120ebcc7f4d89021b7f2
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 6faeaf0cb7d5a0bbd48963564937acb5164b8d9c
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 633167b97049bef3dfa0db5614c402c3202df83f
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 f1560ee3cb12a3aabc15189149716857ce20785b
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 80f4b3294942692a8bebc65b47b58ce5b64d8ef7
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 fe2ec110713c90cf8b4ed5da7632fa57a8ec23a8
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:13:32 2016 +0200

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

commit 90346ac4ae9c840fd03fe824c1dc85a94f25dda2
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 97a85627eac7cb4f37094d9cb7ec0f6b6204f714
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Mon May 30 15:00:23 2016 +0200

    gsm_subscriber_connection: mark BSC specific items
    This is intended to prepare for splitting gsm_subscriber_connection into BSC
    and MSC specific structs, to make the splitting patch more readable.
    Change-Id: Ib9666225fb9bfec2cf1e364343560571869fe6a7

commit a4f36911d881823f7d65ba0b197a38892d9a256a
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 dea230fed833d1bb28851cfcf2ec604e22fd7eeb
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 a201693636c1e7161449926eb924702e1ad721a7
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 03:24:41 2016 +0200

    move to libcommon-cs: 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 f66bfdce86824a652e2183d2837e868aefb27302
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 libcommon-cs in subsequent commit).
    Adjust time zone Ctrl Interface code.
    Change-Id: I69848887d92990f3d6f969be80f6ef91f6bdbbe8

commit 47a224be84b8e4155deb5acf8a9f9efc47fbab69
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 d5577f20b828797c48dfe84a219394e6ed134c2c
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 fa22958877caa5c6afaf6bf3992004a129a6810a
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 01:16:58 2016 +0200

    move to libcommon-cs: 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 common_cs_vty.c.
    Add arg to common_cs_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 libcommon-cs and pass a
    different config_write_net() function.
    Change-Id: I871b7b32a0c56fdce983e409cf244ec487d24e71

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

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

commit 44b00533ed0172c9a5cafe5e1dbddcaedb15cd7d
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 70af2887fac18317c271446aa4e1875646eda683
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 7d12a00270c60896c17db3e8d98e72efc2fa23bd
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Thu May 12 03:03:50 2016 +0200

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

commit cafb184eb1d57a2c168df7d8772dff860c605e40
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 e225c750d987f3738b5b14a94dd464f5b3e6c160
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 13:30:17 2016 +0200

    factor out & introduce struct gsm_encr, in common_cs.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 7b4380746197ae0f693f0313f2431ab87474b471
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Tue May 10 12:50:31 2016 +0200

    move to libcommon-cs: 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 libcommon-cs.
    Change-Id: I33a84e3c28576ced91d2ea24103123431f551173

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

    move to libcommon-cs: 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 libcommon-cs 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 e78ae21ff44a7442be065b67b827efcd10de34fc
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 00:46:29 2016 +0200

    move to libcommon-cs: 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 libcommon-cs 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 libcommon-cs. The other items
    are kept out of libcommon-cs 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 2d521a0296fdecc1a8cb337354654123a864015b
Author: Neels Hofmeyr <nhofmeyr at>
Date:   Sat May 14 00:57:04 2016 +0200

    move to libcommon-cs: net init 2: move bsc_network_init decl to new .h
    bsc_network_init() is more fit to live in a BSC specific header, move it to new
    common_bsc.h. It will probably also absorb the BSC-specific part of gsm_network
    in the future.
    Adjust header includes across the board. Particularly, fix abis_nm.h by
    explicitly including gsm_data.h: it so far relied on other headers to do that,
    which now is no longer always given.
    Change-Id: I9edfb1e748bb1cb484fadd48b0406f5b3098e89b

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

    move to libcommon-cs: 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 libcommon-cs, 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 402006dfdf84c3bf3b22a48ba6ef6922ff6991c7
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 common_cs.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 common_cs.h (future knowledge). Since I will
    need to use mncc_recv_cb_t in common_cs.h, including gsm_data.h from there would
    introduce an #include loop. Avoid that and define mncc_recv_cb_t in common_cs.h to
    begin with.
    Change-Id: I2e64cffa563750ce9f3172ffba6f9cf5b9280e9c

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

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


Summary of changes:
 openbsc/include/openbsc/abis_om2000.h     |  33 +++++
 openbsc/include/openbsc/gb_proxy.h        |   2 +-
 openbsc/include/openbsc/gsm_04_80.h       |   4 +-
 openbsc/include/openbsc/vty.h             |   1 +
 openbsc/src/gprs/gb_proxy.c               |  22 +++-
 openbsc/src/gprs/gb_proxy_tlli.c          |  16 ++-
 openbsc/src/gprs/gprs_gmm.c               |  13 +-
 openbsc/src/gprs/gprs_sndcp_comp.c        |   2 +-
 openbsc/src/ipaccess/abisip-find.c        |   4 +-
 openbsc/src/libbsc/abis_om2000.c          |  91 ++++++++++++--
 openbsc/src/libbsc/abis_om2000_vty.c      | 195 +++++++++++++++++++++---------
 openbsc/src/libbsc/abis_rsl.c             |  13 +-
 openbsc/src/libbsc/bts_ericsson_rbs2000.c |   4 +
 openbsc/src/libcommon/common_vty.c        |  10 ++
 openbsc/src/libmsc/gsm_04_80.c            |   4 +-
 openbsc/src/libmsc/ussd.c                 |  24 ++--
 openbsc/tests/gbproxy/gbproxy_test.c      |  95 +++++++++++++++
 openbsc/tests/gbproxy/gbproxy_test.ok     | 181 +++++++++++++++++++++++++++
 18 files changed, 611 insertions(+), 103 deletions(-)

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

More information about the osmocom-commitlog mailing list