技术控

    今日:133| 主题:49390
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] OpenBSC: open source 3G voice calls

[复制链接]
枕梦 发表于 2016-10-4 11:03:21
172 8

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
I am glad to announce that we have succeeded in placing a 3G voice call between
    two phones using an hNodeB cell and the Osmocom 3G core network. Find attached
    a full network trace including IuCS signalling as well as the RTP voice stream.
    This, proudly, is the first publicly available pcap of Iuh, IuCS and IuPS, and
    it was created using exclusively free software in the core network stack.
      The Osmocom 3G stack is being developed at      sysmocom, supported by highly   
    appreciated sponsoring from      NLnetand sysmocom customers -- thank you for   
    making this possible!
      Osmocom has had 3G data connectivity working for some months now, and the
    IuPS code has already been merged to OpenBSC's master branch (though it still
    requires libosmo-netif, libosmo-sccp and asn1c to be built from the branches
    indicated below).
      The 3G voice counterpart is taking somewhat longer, not because it's more
    difficult per se, but mostly because it needs profound refactoring of our MSC.
    So far our MSC was closely tied to the BSC code, and to include IuCS, we need to
    separate them.
      Are we done with 3G now? Not quite. Things need to be made fully configurable,
    proper 3G authentication needs to be integrated, and all work needs to be put in
    a stable release. We would also like to have a proper 2G A interface as a
    companion to the 3G IuCS interface, which would allow us to completely replace
    the OsmoNITB with the new OsmoCSCN.
      Read this as a humble invitation to join NLnetand other sysmocom customers
    in funding the open source 3G core network development here at sysmocom.
    The resulting software stack is free for everyone, including you, both in the
    sense of free speech as well as the proverbial free beer, and we can still use
    all the support we can get to wrap this up. If you would like to see this working
    sooner rather than later, do not hesitate to contact us.
      So, we're still working on Osmocom 3G, but if you would like to take a look
    ahead, here is how:
      We have a 3G authentication implementation ready, but since this is not yet
    integrated in our HLR/VLR and MSC libraries, we're still working with hardcoded
    2G authentication tokens. So to test, you still need specially provisioned SIM
    cards. Firstly, they must be incapable of 3G authentication, so that the phone
    decides to fall back to 2G auth. Secondly, they must all be programmed with a
    Ki of      000102030405060708090a0b0c0d0e0f. If you need help here, feel free to   
    contact us-- we're in the meantime working on integrating full 3G
    authentication with osmo-cscn and osmo-sgsn.
      To set up a 3G core network based on free Osmocom software, this is what you
    need:
   
  1. +--------+
  2.                              ,-->| MGCPGW |<--RTP--...
  3.                             /    |        |
  4.                             |    |        |<--MGCP
  5.                             |    +--------+       \
  6.                             /                     |
  7.         +------------+<--RTP     +--------+       `->+----------+
  8. UE <-->| hNodeB     |           | HNB-GW |          | OsmoCSCN |
  9. UE <-->|            |<--Iuh---->|        |<--IuCS-->|          |
  10.         |            |     ...-->|        |    ...-->|          |
  11.         |            |           |        |          +----------+
  12.         +------------+<--GTP-U   |        |
  13.                               \  |        |          +------+           +------+
  14.                               |  |        |<--IuPS-->| SGSN |<--GTP-C-->| GGSN |
  15.                               |  +--------+    ...-->|      |   GTP-U-->|      |
  16.                               |                      +------+  /        +------+
  17.                               \_______________________________/
复制代码
   Instead of a traditional NodeB, we use "smaller" hNodeB 3G cell hardware to take
    care of the radio interface. This has the advantage that it already has an RNC
    integrated, which we would otherwise need to implement separately. The RNC will
    talk Iuh, i.e. HNBAP and RANAP, to OsmoHNBGW running on your box, let's call it
    the core network computer (CN).
      Besides the HNB-GW, your CN further comprises of OsmoCSCN for voice signalling
    as well as the OsmoMGCPGW to direct RTP streams. For data, there are OsmoSGSN
    and OpenGGSN.
      In short, Iuh is the combined voice (IuCS, Iu circuit switched) and data (IuPS,
    Iu packet switched) signalling, which the HNB-GW splits to OsmoCSCN (circuit
    switched core network) and OsmoSGSN. When a phone (UE, user equipment) starts
    a call, OsmoCSCN takes care of all the signalling, from authentication to RAB
    assignment, and instructs the MGCPGW to forward the RTP streams from the hNodeB,
    in our case, back to the same hNodeB and to the other UE. In the field, the
    MGCPGW would instead forward to a remote media gateway.
      To set up your CN, build and install the following projects from
          http://git.osmocom.org, using below branches; the current state of which have   
    also been tagged as '3G_2016_09':
   
       
  • libosmocore: master      9c0751fc60e6282b5f5ff791d53f6f862f1c9c79   
  • libosmo-abis: master      15d9b7929d449e4138bcb003c614035bceadc3d1   
  • libosmo-netif: sysmocom/sctp      b830719b392dc96fd7987fb3dfba31a92a6fa38b   
  • libosmo-sccp: sysmocom/iu      c1307ee64d25f4b19397bcf4791ba4c85d1dbe79   
  • libsmpp34: master      2ccf5304ca465fbc70f6ae3283b4f49aaa9b650f   
  • asn1c: aper-prefix-onto-upstream      b9b7c9e54d079c6093a5e77a79aabed409dc9bfb   
  • libasn1c: master      20d668cbd3c14ef32fcbd09617fbd3c8e6856ec0   
  • osmo-iuh: master      f41b2fa500c209136c3446f4bc9d9da348539f92   
  • openggsn: master      03dbafb000c88155309dfd67b3bba73f7b389e69   
  • openbsc: sysmocom/iu      8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180  
    Once the CN stack is built, set up the configuration. Find attached files for an
    example of a local test setup. Some details explained:
      Tell the osmo-hnbgw which local IP address to use to listen for Iuh connections.
    This needs to be on an interface reachable by the hNodeB. The IuCS and IuPS
    links towards the osmo-cscn and osmo-sgsn are so far still hardcoded as
    127.0.0.1 and 127.0.0.2, respectively, i.e. osmo-cscn and osmo-sgsn should run
    on the same machine as the osmo-hnbgw. These will listen on the proper port
    without further configuration (still hardcoded).
      Also tell the MGCPGW (osmo-bsc_mgcp) which local IP address to bind to, which
    has to be reachable both by the hNodeB as well as the osmo-cscn process. The
    osmo-cscn.cfg is then told where to reach the MGCPGW.
      A notable detail for 3G data is that the GGSN has to be reachable by the hNodeB.
    Since the GTP standard defines fixed port numbers which both SGSN and GGSN have
    to to use, the SGSN may not bind on the same IP address as the GGSN.
      Once you have configured the IP addresses, start up your core network: launch
    osmo-cscn, osmo-bsc_mgcp, osmo-sgsn, ggsn and osmo-hnbgw. You should see log
    messages indicating established IuCS and IuPS links (HNBGW, CSCN and SGSN).
      With your CN up and running, configure the hNodeB to contact osmo-hnbgw. Also
    make sure the PLMN ID and LAC are configured correctly, to match the MCC and
    MNC in the osmo-cscn.cfg -- otherwise the hNodeB may reject all attach requests.
    Finally, do authorize the SIM card's IMSI, e.g. using osmo-cscn's telnet VTY,
    and if necessary configure the hNodeB to allow access by this IMSI.
    The attached pcap file contains a complete network trace of:
  
       
  • HNBAP of hNodeB registering at the HNB-GW;   
  • two UEs registering first at the HNB-GW (HNBAP UE Register) and then on IuCS      
    and IuPS (MM Location Updating, GMM Attach), coming in via Iuh at the HNB-GW      
    and forwarded to OsmoCSCN and OsmoSGSN;   
  • the two UEs browsing the websites nlnet.nland the current xkcd webcomic,      
    with PDP Context allocation as well as GTP-C and GTP-U;   
  • a voice call where the one UE calls the other (i.e. MO with Service Request to      
    MT with Paging), with the RTP stream directed through our MGCP GW using CRCX      
    and MDCX instructions;   
  • each UE sending an SMS to the other.  
  The IP addresses used in attached network trace are:
  
       
  • 10.9.1.11: hNodeB 3G femto cell;   
  • 10.9.1.120: CN computer's interface for Iuh and RTP, as well as the SGSN's      
    GTP-C side towards the GGSN;   
  • 10.9.1.13: CN computer's interface for GTP-U towards the hNodeB as well as      
    GTP-C towards the SGSN;   
  • 127.0.0.1: loopback on the CN computer for IuCS;   
  • 127.0.0.2: loopback on the CN computer for IuPS;   
  • 10.23.42.*: IP addresses given to UEs within the GTP tunnel;   
  • all other IP addresses are remote servers contacted by the UEs.  
    When looking at network traces, note the various protocols: Iuh, IuCS and IuPS
    communicate via SCTP (as opposed to TCP or UDP). You will see the same Iu
    messages twice, e.g. once on IuCS between HNB-GW and CSCN, encapsulated in
    RANAP/SUA, and again on Iuh between HNB-GW and hNodeB, encapsulated in
    RANAP/RUA. In contrast, the MGCP configuration and RTP streams for voice use
    UDP, and so do GTP-U and GTP-C for the data link.
      In conclusion, we still need some work to reach our goal of a fully operational
    3G core network. The attached trace of a 3G voice call using exclusively free
    Osmocom software proves that we are now very close indeed.
      We invite you to test and use our 3G core network stack, and if you can,
    consider joining NLnet and sysmocom as sponsor of the ground breaking work in
    the Osmocom community.
友荐云推荐




上一篇:谈谈存储软件的无锁设计
下一篇:期权定价笔记
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

玖炳光 发表于 2016-10-5 06:01:09
我对楼主的敬仰犹如滔滔江水绵延不绝!
回复 支持 反对

使用道具 举报

小小小猪 发表于 2016-10-9 10:32:10
我也是醉了。
回复 支持 反对

使用道具 举报

生生世世1 发表于 2016-10-9 13:38:31
我用手机上酷辣虫,好好用
回复 支持 反对

使用道具 举报

luosan55 发表于 2016-10-10 01:14:58
我说这位大哥,我又不是草船,你的贱用不着总往我这儿乱发!
回复 支持 反对

使用道具 举报

雅阳 发表于 2016-10-11 11:17:01
枕梦接下来收到的所有回帖都是我安排他们顶你的。我为人就两个字“低调”!你知道就行了!
回复 支持 反对

使用道具 举报

zy_workjob 发表于 2016-10-12 23:33:05
呵呵,低调,低调!
回复 支持 反对

使用道具 举报

我爱你苏小姐 发表于 2016-10-26 00:38:28
不要和我比懒,我懒得和你比.
回复 支持 反对

使用道具 举报

guowaiuu 发表于 2016-11-1 02:22:19
我女友不当尼姑的原因是她四级没过,庵里不收.
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表