Project

General

Profile

Actions

Feature #2011

open

clean-up / merge IPA (and IPA CCM) code of libosmocore, libosmo-abis, libosmo-netif, openbsc, etc.

Added by laforge almost 7 years ago. Updated over 1 year ago.

Status:
New
Priority:
Low
Assignee:
-
Target version:
-
Start date:
04/15/2017
Due date:
% Done:

0%

Spec Reference:

Description

There are bits and pieces of code supporting different features of the IPA protocol, particularly the CCM part of it distributed over various osmocom projects:

  • libosmocore (src/gsm/ipa.c)
  • libosmo-abis (src/input/ipa.c, src/input/ipaccess.c)
  • libosmo-netif (src/ipa.c, src/ipa_unit.c)
  • openbsc (in osmo-bsc and osmo-bsc_nat (at the very least, but also ipaccess-proxy and of course abisip-find)
  • osmo-bts (sysmobts_mgr_nl.c)

We should sit down and clean this mess up. There should be one parser and one encoder for IPA and CCM messages, which can be used by all the various code bases.


Related issues

Related to OsmoMGW - Feature #4841: TC_e1_crcx_and_dlcx_ep does not pass - move the IPA code out of libosmo-abisStalleddexter11/02/2020

Actions
Actions #1

Updated by laforge almost 7 years ago

  • Tracker changed from Bug to Feature
Actions #2

Updated by laforge over 3 years ago

  • Related to Feature #4841: TC_e1_crcx_and_dlcx_ep does not pass - move the IPA code out of libosmo-abis added
Actions #3

Updated by laforge over 1 year ago

some notes I took a while ago on whic hparts of the code use which API etc

libosmocore

  • ipa_ccm_idtag_name()
  • ipa_ccm_idtag_parse()
    • libosmo-abis
    • libosmo-sccp
    • osmo-bsc
  • ipa_ccm_idtag_parse_off()
  • ipa_parse_unitid()
  • ipa_ccm_tlv_to_unitdata()
  • ipa_ccm_make_id_resp()
  • ipa_ccm_make_id_resp_from_req()
    • libosmo-sccp
  • ipa_send()
    • libosmoabis
  • ipa_ccm_send_pong()
    • osmo-bsc/ipaccess-proxy
  • ipa_ccm_send_id_ack()
    • osmo-bsc/ipaccess-proxy
  • ipa_ccm_send_id_req()
    • osmo-bsc/ipaccess-proxy
    • libosmo-abis
    • libosmo-sccp
  • ipa_ccm_rcvmsg_base()
    • libosmo-abis
  • ipa_ccm_rcvmsg_bts_base()
    • libosmo-abis
    • osmo-bts/sysmbts_mgr_calib
  • ipa_prepend_header_ext()
    • osmo-bsc, osmo-bts, osmo-hlr, osmo-msc, osmo-sgsn, osmo-sysmon, ...
  • ipa_prepend_header()
    • osmo-bsc, osmo-bts, osmo-hlr, osmo-msc, osmo-sgsn, osmo-sysmon, ...
  • ipa_msg_recv()
    • UNUSED
  • ipa_msg_recv_buffered()
    • libosmo-abis, libosmo-sccp
  • ipa_msg_alloc()
    • libosmo-abis, libosmo-sccp

h2 libosmo-abis

  • ipa_msg_push_header
    • libosmo-netif, libosmo-sccp, osmo-msc, osmo-sgan
  • ipa_client_conn_close
    • osmo-msc, osmo-sgsn
  • ipa_client_conn_create
    • osmo-bts, osmo-msc, osmo-sgsn
  • ipa_client_conn_destroy
    • osmo-msc, osmo-sgsn
  • ipa_client_conn_open
    • osmo-bts, osmo-msc, osmo-sgsn
  • ipa_client_conn_send
    • osmo-bts, osmo-msc, osmo-sgsn, osmo-remsim
  • ipa_client_conn_clear_queue
    • osmo-msc, osmo-sgsn
  • ipa_server_link_create
    • osmo-hlr
  • ipa_server_link_close
    • osmo-hlr
  • ipa_server_conn_create
    • osmo-hlr
  • ipa_server_conn_ccm
    • osmo-hlr
  • ipa_server_conn_destroy
    • osmo-hlr
  • ipa_server_conn_send
    • osmo-hlr
  • ipa_keepalive_fsm_start

libosmo-netif

  • chan_abis_ipa_srv / chan_abis_ipa_clnt
    • cannot deal with fragmented IPA messages!
    • nowhere used, let's remove
  • ipaccess_idtag_name()
  • osmo_ipa_msg_alloc()
    • only inside library
  • osmo_ipa_msg_push_header()
    • libosmo-sccp
  • osmo_ipa_process_msg()
    • libosmo-sccp
  • osmo_ipa_idtag_parse()
    • only inside library
  • osmo_ipa_parse_unitid()
    • only inside library
  • ipaccess_send_pong()
    • identical to ipa_ccm_send_pong/libosmogsm
    • libosmo-sccp
  • ipaccess_send_id_ack()
    • identical to ipa_ccm_send_ack/libosmogsm
    • libosmo-sccp
  • ipaccess_send_id_req()
    • identical to ipa_ccm_send_req/libosmogsm
    • only inside library
  • osmo_ipa_rcvmsg_base()
    • only inside library
  • ipaccess_parse_unitid()
    • identical to ipa_parse_unitid/libosmogsm?
    • only inside library
  • ipa_cli_id_resp()
    • only inside library
  • ipa_cli_id_ack()
    • only inside library
  • osmo_ipa_parse_msg_id_resp()
    • only inside library
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)