Commit Graph

59 Commits

Author SHA1 Message Date
Harald Welte 9d12ea0e47 fix CONN FAIL and IPAC_DISCONNECT_IND log printing 2009-06-05 20:28:48 +00:00
Harald Welte 60d68f1974 missing newline in log message about measurement result 2009-06-05 20:07:43 +00:00
Harald Welte 30b66d79cd fix printing of measurement results 2009-06-05 19:57:24 +00:00
Holger Freyther 79f4ae6cc3 [debug] Change DEBUGPC statements to contain \n (Andreas Eversberg)
Some debug outputs now correctly use end-of-line characters.
2009-06-02 03:25:04 +00:00
Holger Freyther f7b2a0ec7f [rsl] Change logging of handling reason 0x18 in rsl_rx_conn_fail (Andreas Eversberg)
Release the channel when it is not used, otherwise claim it
is still in use...
2009-06-02 02:55:17 +00:00
Harald Welte 45b407ad25 With this patch, the TRAU muxing code supports not just bridging only.
A new function trau_recv_lchan() is used to link a channel to a call reference
of a transaction. (Transactions are used in later patches.) TRAU frames will
then be forwarded to the application with the given call reference (in later
patches). Also the application can send TRAU frames by using trau_send_lchan().

A new list is introduced in trau_mux.c. (upqueue_entry) All subslots
that must be sent to application are listed here.

Received TRAU frames are written in the upqueue of application
interface, if a call reference is found in the upqueue-list. If an entry
is found the ss_entry list, the TRAU frames are bridged as before. The
frames have a message type (msg_type), a call reference (callref) and a
trau frame (data). The length of trau frame is defined by the content of
the c-bits inside the frame.

There is no support for ip.access yet, as they don't use the traditional
TRAU frame format. Harald must add this in order to use application interface
with ip-access. The bridging with ip-access works as before.
(Andreas Eversberg)
2009-05-23 15:51:12 +00:00
Harald Welte a4d49e96ab Some messages have one or two length-value information elements. The is
no IE type included in the message. These information elements are
mandatory, so their actual IE type is known. The improved parse_tlv()
function allows to parse zero, one, or two length-value elements.
(Andreas Eversberg)
2009-05-23 06:39:58 +00:00
Harald Welte 75d34a8b3d fix two compiler warnings 2009-05-23 06:11:13 +00:00
Harald Welte 440fed08ec implement parsing and printing of RSL measurement results 2009-05-01 18:43:47 +00:00
Harald Welte 3cf7c3ff89 don't print rf resource indication messages, they clutter up the logs 2009-05-01 18:28:00 +00:00
Harald Welte 6dab055752 print cause for channel activate NACK 2009-05-01 17:21:37 +00:00
Harald Welte e81899cc00 fix printing of ip.access disconnect cause 2009-05-01 16:01:00 +00:00
Harald Welte 9de2bf884b fix missing \n at end of debug statement 2009-04-30 15:59:55 +00:00
Harald Welte ddab3c78c5 introduce new 'mode' parameter to RSL ACTIVATE CHANNEL 2009-02-28 13:19:15 +00:00
Harald Welte 4a543e81cf * more RSL and 04.08 constant defines
* initialize some data structures before using them in RSL
* DATA_REQ is a transparent message
* more elaborate DEBUGP statements here and there
* don't call 04.08 with zero-length RSL DATA INDICATION
* reject 04.08 CC HOLD and RETRIEVE, as we don't support them yet
2009-02-28 13:17:55 +00:00
Harald Welte 02b0e093a1 make sure all channels in one BTS use the same TSC (training sequence code) 2009-02-28 13:11:07 +00:00
Harald Welte 7f93ceafef Ignore CONNECTION FAIL INDICATION cause 0x18 to make sure our phone calls survive on BS11.
Apparently the BS-11 sends soem undocumented cause 0x18 as part of a CONN FAIL IND message
shortly after we establish the call.  If we close the channel, the voice call
is aborted. If we ignore the message, everything just continues to work.
2009-02-23 00:02:59 +00:00
Harald Welte c1697105cf use RSL debug prefix in RSL code 2009-02-22 18:18:12 +00:00
Harald Welte f325eb4e9f use new gsm_ts_name() funciton from debug statemens everywhere 2009-02-19 17:07:39 +00:00
Harald Welte da78376396 * ensure TCH/F are activated signalling-only
* add function for RSL CHANNEL MODIFY REQUEST
* add missing channel activation function to header file
2009-02-18 03:29:53 +00:00
Harald Welte 49dfa353e3 correctly print IPAC_CONNECT_ACK debug statement 2009-02-17 15:29:58 +00:00
Harald Welte 167df88aae * increased debug verbosity for ip.access BIDND_ACK processing
* emit a signel when the BIND is acknowledged
2009-02-17 14:35:45 +00:00
Harald Welte 09e38afbcc * introduce a callback function when paging completes (I know this is somewhat of an overlap
with the signals, but I think paging always has one reason and thus one caller wants to
  get notified about completion, including a caller-specific context, etc)
* introduce TLV parser definitions for GSM 04.08
* parse and generate BCD number IE's for 04.08 call control
2009-02-16 22:52:23 +00:00
Harald Welte 7509926614 * introduce TLV parser definitions for RSL IE's
* introduce functions for ip.access specific RSL commands
2009-02-16 21:12:08 +00:00
Harald Welte d4c9bf3c5a * add bs_power and ms_power attributes to each channel and use them in channel activation 2009-02-15 16:56:18 +00:00
Harald Welte 362322ed81 For Phase2 and higher BTS, use the FULL IMMEDIATE ASSIGN INFO attribute, rather than IMMEDIATE ASSIGN INFO 2009-02-15 14:36:38 +00:00
Holger Freyther 3b91043cae [ccch load] Enable notifications for CCCH/PAGING LOAD again
Set the threshold to 0% for the load indication. The paging buffer
space will be used by the paging notifications and we will ignore
the racch usage notification for now.
2009-02-11 00:43:48 +00:00
Holger Freyther 392209cbb5 [paging] Introduce a variable containing the free paging slots
Start with a large number of available slots. It is guranteed
that we will - at some point - get a paging load and will properly
update the counter and keep it updated.
2009-02-10 00:06:19 +00:00
Harald Welte e79769b926 make sure certain functions are per TRX, not per BTS, such as
* rsl_chan_activate()
* rsl_bcch_info()
* rsl_sacch_filling()
2009-02-07 00:48:17 +00:00
Holger Freyther 3aa8d6c46d [paging] This is paging my phone but it looks completely wrong...
- The paging block calculation is wrong but I have a hard time finding
  the right information. The table of 05.02 (Table 5 of 9) looks good
  but my phone is not happy with that group...
2009-02-04 02:14:45 +00:00
Holger Freyther 3b72a890c2 [paging] Implement the three Control Channel Descriptor methods...
This comes from GSM 05.02 and GSM 04.08
2009-02-04 00:31:39 +00:00
Holger Freyther 8c563cf4f9 [rsl] Decode RACH Load as well
Print the common field and ignore the Supplementary Information.
Initialize the fields to 0xffffffff in case the payload is malformed
2009-02-03 20:08:51 +00:00
Harald Welte 8f5e239388 cosmetic/coding style fixes 2009-02-03 12:57:37 +00:00
Harald Welte ea280446bb add rudimentary code to debug-print the CCCH LOAD INDICATION 2009-02-02 22:29:56 +00:00
Holger Freyther 342a2c67de [abis] Do not confuse me again.... 2009-01-27 22:49:48 +00:00
Holger Freyther ca362a6028 Make gcc happy and remove a couple of warnings
Remove the callbacks from gsm_network for now. A set of different
callbacks will be back. E.g. when the paging is completed, when the
Q.931 like call handling is there...

Remove var's or move them into #if 0, remove unused stuff that looks
like we do not need it anytime soon or #if 0 them, move stuff around.
2009-01-04 21:05:01 +00:00
Holger Freyther 7448a53ddb Be able to initiate paging from the telnet interface
The actual paging by subscriber needs to be implemented
2009-01-04 20:18:23 +00:00
Harald Welte ca64da984b make use of new functions to print string chreq reason and lchan type 2009-01-04 16:54:12 +00:00
Holger Freyther 355701bcc0 Document where to find the how to determine the paging group
Point to the right location in the pile of spec
2009-01-01 18:02:29 +00:00
Holger Freyther 36cbeff164 Document where Channel release is coming from 2008-12-30 19:15:20 +00:00
Harald Welte 817f3c8699 add missing return statement 2008-12-30 14:57:59 +00:00
Holger Freyther 88ea832ed7 Unite the acked/nacked handling in a common response... 2008-12-29 06:23:52 +00:00
Holger Freyther 24893de3cb Inform the bsc about acked or nacked channels...
On channel allocation the bsc_hack added a cookie to the lchan on
ack and nack we will take a look and then assume it is the channel
we have allocated. This can be easily exploited by a MS sending fake
responses to paging commands. After the channel has been acked we would
have to ask for the tmsi or find the information on the channel
allocation. For now we will guess.
2008-12-29 06:23:51 +00:00
Holger Freyther 3186bf209a Add callback for allocated lchannels
Currently it is not possible to know for which tmsi the channel
is going to be allocated. The bsc_hack will guess.. in the future
it might be forced to ask for the tmsi after the channel has been
opened...
2008-12-29 06:23:49 +00:00
Holger Freyther 86f1812105 Remove duplicate call... semantic should stay the same 2008-12-29 06:23:47 +00:00
Harald Welte 2cbe0924b6 Print channel requests coming from paging command, print the reason in every message 2008-12-29 04:09:31 +00:00
Harald Welte 255539c742 working state up to location update and classmark inquiry 2008-12-28 02:26:27 +00:00
Harald Welte 75a983fab0 * add database handling
* fix IMSI handling
2008-12-27 21:34:06 +00:00
Harald Welte 2d5b638bd3 * fix sending of wrong message discriminator for dedicated channel RSL msgs
* remove dead old code for TCH/SDCCH activation
* fix RF CHANNEL RELEASE logic + integration with lchan_alloc/free
* use Page Mode SAME and not NORMAL
2008-12-27 19:46:06 +00:00
Harald Welte 9524e34ee4 * lchan_free() the channels that we RF_CHAN_RELEASE 2008-12-27 11:13:36 +00:00