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.
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.
- Tracker changed from Bug to Feature
- Related to Feature #4841: TC_e1_crcx_and_dlcx_ep does not pass - move the IPA code out of libosmo-abis added
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()
- ipa_send()
- ipa_ccm_send_pong()
- ipa_ccm_send_id_ack()
- ipa_ccm_send_id_req()
- osmo-bsc/ipaccess-proxy
- libosmo-abis
- libosmo-sccp
- ipa_ccm_rcvmsg_base()
- 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()
- 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
- ipa_client_conn_create
- osmo-bts, osmo-msc, osmo-sgsn
- ipa_client_conn_destroy
- 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
- ipa_server_link_create
- ipa_server_link_close
- ipa_server_conn_create
- ipa_server_conn_ccm
- ipa_server_conn_destroy
- ipa_server_conn_send
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()
- osmo_ipa_msg_push_header()
- osmo_ipa_process_msg()
- osmo_ipa_idtag_parse()
- osmo_ipa_parse_unitid()
- 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()
- ipaccess_parse_unitid()
- identical to ipa_parse_unitid/libosmogsm?
- only inside library
- ipa_cli_id_resp()
- ipa_cli_id_ack()
- osmo_ipa_parse_msg_id_resp()
Also available in: Atom
PDF