Actions
Feature #2011
openclean-up / merge IPA (and IPA CCM) code of libosmocore, libosmo-abis, libosmo-netif, openbsc, etc.
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
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
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