aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/msc_ifaces.c
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16log: ciphering/security are implicit CM Service AcceptNeels Hofmeyr1-1/+2
Log just as prominently to mark CM Service Accept. Change-Id: I7afe9d4f69e5525ede7a7c380a2c48fb2c5054b6
2017-03-16more specifically conclude cm service requestsNeels Hofmeyr1-0/+1
Don't end a CM Service Request "lock" too indiscriminately. Trigger only on new transactions that start. Change-Id: I4f64b8d91cfb1e61be4563594b2d6b23144af5bc
2017-03-16vlr on utran: transmit CommonIDNeels Hofmeyr1-1/+8
Change-Id: Ice3c71f048b097f2c2de8bd4f4508a7ca2cb1cf5
2017-03-16Make the code work so that the msc_vlr tests passNeels Hofmeyr1-5/+9
Change-Id: Ie8814d856bbe4c111007a696a4d26576854c134f
2017-03-16mgcp parsing, set port from mgcp responseNeels Hofmeyr1-2/+4
Change-Id: I90e2c1aa7575d5fa6e0374f5022cbb25fc3f7699
2017-03-16mgcp parsing, mgcp testNeels Hofmeyr1-49/+95
Change-Id: Ibe2ab17b3fa3a506a2e841ba979ea4175e3a21e8
2017-03-16mgcp: handle responses from the MGCP GWNeels Hofmeyr1-4/+44
Change-Id: I5c0493feaec775461b5a017c36b93cc2ad63c896
2017-03-16IuCS, IuPS: move flag to use X.213 NSAP addr into ue_conn_ctxNeels Hofmeyr1-3/+5
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
2017-03-16IuCS: store assigned rab_id in gsm_subscriber_connectionNeels Hofmeyr1-2/+3
Change-Id: I7fda4304631fc24bbd1bebe911b8403a942fcf53
2017-03-16bridge calls via mgcpgwNeels Hofmeyr1-0/+29
Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a
2017-03-16IuCS: implement msc_call_assignment() for IuCSNeels Hofmeyr1-1/+81
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 Makefile.am. 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
2017-03-16IuCS: cosmetic prep for msc_call_assignment()Neels Hofmeyr1-0/+6
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
2017-03-16IuCS: send RANAP CommonIDNeels Hofmeyr1-0/+19
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 tests. 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
2017-03-16libmsc: duplicate gsm0808 / gsm48 functions (towards BSC)Neels Hofmeyr1-0/+32
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
2017-03-16Prepare entry/exit point for MSC -> BSC and MSC -> RNC communication.Neels Hofmeyr1-0/+51
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 Iu specific fields in gsm_subscriber_connection: 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