Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I56fda48edaa92abfc6e3886cdfce733bb0686f73
|
|
Change-Id: Ia7e74087d56996104b6d3935b1cf12166ff67f3a
|
|
Change-Id: I7fda4304631fc24bbd1bebe911b8403a942fcf53
|
|
Change-Id: Ie259e30bc532fe9817c96562022ac33443d5747a
|
|
Change-Id: I863fa73948f61aaffd7f4472f3abc3e44228e31f
|
|
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
|
|
Store the mgcpgw client data in struct gsm_network.
Initialize VTY and bind the client.
Change-Id: Ifc4efb1ca44fa34c29bf23b35addb54155296d68
|
|
Add an API to send MGCP messages to an MGCP GW, from the perspective of
an MSC instructing the GW to setup RTP streams.
Rationale: the mgcp_protocol.h is mostly for the MGCP GW itself, other
implementations forward incoming MGCP messages. So a simpler approach for an
MGCP GW client is useful.
Add general VTY commands that can be used to configure mgcpgw_client.
osmo-cscn is going to use this to route RTP streams (for 3G at first).
Change-Id: I6fe365c4c89207f2172943cc456b508a207b1135
|
|
Add file mgcp_common.c to implement the value strings for the
mgcp_connection_mode.
Add in a separate file because of the upcoming mgcpgw_client.c implementation,
introducing a file that contains implementations commonly used in MGCP GW as
well as its clients.
Change-Id: I6fe365c4c89207f2172943cc456b508a207b1135
|
|
mgcp_connection_mode will be used by the upcoming mgcpgw_client.h API.
Change-Id: I7a3f8905723320d968f1a53c1036904107b4fb2d
|
|
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
|
|
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
|
|
The extra ws made me not find these lines when grepping for 'dtap ='.
Change-Id: I45e5c9e7df4704546872aab15adf407298943435
|
|
|
|
Change-Id: I30c13a604160268756b7413f1733f92300eb241b
|
|
|
|
|
|
From a human admin viewpoint it doesn't make sense to count the messages sent:
When we use TMSIs, we first send a LU Accept with a new TMSI, and then expect
the MS to respond with a TMSI Realloc Complete message. When that fails to come
through, the LU actually ends in failure, even though a LU Accept was sent.
In 3G, if a UE sends an Iu Release during LU (e.g. user enables flight mode),
we cancel the LU without sending any reply at all, so nothing would be counted.
Instead, count Location Updating results, i.e. completion and failures.
|
|
Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41
|
|
By having conn->in_release == 1, calling msc_release_connection() has no
effect and thus never frees the conn. So, after all pending requests have
been discarded, also discard and free the unused connection.
|
|
Change-Id: I398aaa4a7328a58fb0d563725f3bea26482929ef
|
|
Change-Id: I624612b5d5cd70770326347634aee2a42ba88945
|
|
Change-Id: I0d5a36560e7edde27497de57e579f5b1d00eb525
|
|
|
|
Change-Id: I4ea799c5fa61f81c404e6ef1b9ac86a8faa1fb49
|
|
Change-Id: I63d4835dc7aabdf176e0ca634a6a4ca527612693
|
|
|
|
This function is wrongly placed on the MSC level.
Unfortunately I cannot remember the very plausible details that hwelte had
back in the days to argue for this change. (Refactoring an old commit that
fails to explain in more detail.)
Change-Id: I82623847e652a59a921d2fb142b77cf22420a746
|
|
|
|
Change-Id: I11be1bdfe6993f89b34319e7d1526c729d6e0cde
|
|
Add paging timeout to struct gsm_subscriber. Previously, paging timeout was
implemented only on BSC level, where each request has its own timeout value.
The MSC will still send individual requests to BSC or RNC level, where they
timeout individually. However, the MSC must also have an own timeout to be sure
to discard stale pagings that the BSC or RNC never replied for.
Add handle_paging_resp(), copying the few libmsc relevant parts of
gsm48_handle_paging_resp().
|
|
Change-Id: I7e72c9db2837ea5edf45f6037cb0288a264d492c
|
|
Before this, any paging response would be accepted by the CN, without
checking the database whether the subscriber is in fact authorized.
The probability that a subscriber would be able to take unauthorized action
is slim, nevertheless checking authorization status with the database should
happen before we accept a connection.
|
|
Remove one layer of callback indirection in paging. When a paging response
arrives, we always want to first secure the connection, thus a fixed
subscr_rx_paging_response() function is more appropriate and avoids having
to store a cbfn. The actual actions to be taken upon successful paging are
of course still in callback functions stored with each subscriber.
Remove paging_request_stop() call from subscr_paging_dispatch(), which stops
paging on all BTSs, which is not the responsibility of libmsc.
Change-Id: Ic2c785c9cc48b2c2c6557cbe1060d25afa89e38d
|
|
add subscr_authorized(), subscr_authorized_imsi()
Change-Id: If2ef06b1229351127c61477ca14653d6ae4cb6bb
|
|
Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef
|
|
Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03
|
|
Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14
|
|
Upcoming function subscr_authorized() will flip this to bool, so separate
this change cosmetically.
Change-Id: Iba0184a71afa01141ef06c474cb554e79ad8f5d5
|
|
Change-Id: Ife8e10b240693a8d369139881774f1892044aa65
|
|
Change-Id: Idbbd39b0e068da17aafa97e315143509c69c50ea
|
|
Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b
|
|
Change-Id: I3787050b524954d8a4dd13495c458f3ee293807b
|
|
The recent shifts and cuts have made some library linking for bsc, channel and
db tests unnecessary.
|
|
gsm0808_clear() is all about clearing lchans. To be able to link libmsc without
libbsc, don't call it directly.
Change-Id: I149146fc3cb99ef4a21ee2a798231bb070f398cd
|
|
Temporarily disable all paging to be able to link libmsc without libbsc.
Skip the paging part of channel_test because the paging is now disabled.
In osmo-nitb, paging is done on BSC level and MSC level "at the same time".
When the new CSCN is fully operational, paging will be controlled separately on
the MSC level, and the BSC (RNC) level will be instructed over an IuCS or
A-interface to negotiate paging with the MS (UE). This MSC level paging does
not yet exist and will be added in subsequent commits.
Change-Id: I8b6920ddc54fc3f2876a59664e6722666d8a8a4a
|
|
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
|
|
Aim: msc_tx_dtap() shall redirect to IuCS or A interfaces depending on subscr
conn.
Change-Id: I30d961f16eb7b9c0ab9cc3f43198098d3f1a909f
|
|
Change-Id: I4a66c4122011dbc87c6fcb336ab0461b86522c98
|
|
to libfilter instead?
Change-Id: I00ca0caf8224de029f53f4dedb1146e3cf7650ec
|