| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Handling 7-bit coding is a little different for USSD, as TS 03.38
states:
To avoid the situation where the receiving entity confuses 7 binary
zero pad bits as the @ character, the carriage return or <CR>
character shall be used for padding in this situation [...].
If <CR> is intended to be the last character and the message
(including the wanted <CR>) ends on an octet boundary, then another
<CR> must be added together with a padding bit 0. The receiving entity
will perform the carriage return function twice, but this will not
result in misoperation as the definition of <CR> [...] is identical to
the definition of <CR><CR>.
The receiving entity shall remove the final <CR> character where the
message ends on an octet boundary with <CR> as the last character.
Jacob has verified the fix with fakeBTS and the wireshark dissector.
Fixes: OW#947
Reviewed-by: Jacob Erlbeck <jerlbeck@sysmocom.de>
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This is required for encoding the SMS header using the alpha numeric
rules.
Reviewed-by: Jacob Erlbeck <jerlbeck@sysmocom.de>
 | 
| | 
| 
| 
| 
|  | 
These functions are not meant to be used by applications and are
only here for the unit tests. Try to document that.
 | 
| | 
| 
| 
| 
|  | 
this causes compiler warnings in user code ever since commit
55cf02221f0654a3f48888f3b13766b671a120f0
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
|  | 
The chan_nr is required to locate timeslot and subslot of access bursts
during handover procedure.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
In order to control layer 1 via primitives, MPH primitives are required.
There is only one (MPH-INFO) primitive defined in TS 04.04 for all control
and measurement functions. A type identifier inside this primitive is used
to differentiate between different functions.
The TCH primitives are used to carry traffic. TCH primitives carry voice
or data traffic, whereas PH-DATA primitives carry FACCH data.
PH_RTS and TCH_RTS (ready-to-send) primitives are used to poll requests
from upper layers.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
The modified macro is still working on a gcc 4.7 and gcc 4.8 after the
removal of the typedef and addition of the unused attribute.
include/osmocom/core/msgb.h: In function ‘msgb_alloc_headroom’:
include/osmocom/core/utils.h:40:51: warning: typedef ‘dummyheadroom_bigger’ locally defined but not used [-Wunused-local-typedefs]
 #define osmo_static_assert(exp, name) typedef int dummy##name [(exp) ? 1 : -1];
                                                   ^
include/osmocom/core/msgb.h:386:2: note: in expansion of macro ‘osmo_static_assert’
  osmo_static_assert(size > headroom, headroom_bigger);
  ^
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
Allow to tag the NS service with a custom DSCP.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
This is changing the semantic of the assert. The regression tests
now either need to check the stderr result, the exit status or print
a message when all tests are completed.
This is not that bad as the osmo_generate_backtrace is printing to
the stdout right now.
 | 
| | 
| 
| 
| 
|  | 
This function will re-open all existing log files in the application,
praticularly useful for SIGHUP handlers in case of logrotate
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
|  | 
The tests should unconditionally assert, regardless of debug settings.
This uses the OSMO_ prefix as it's in the global namespace.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
The log target can be used via log alarms and show alarms.
Why? This feature was proposed/requested at
http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget
All messages use the same amount of space, prioritizing simplicity.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
I noticed some more issues and it is the easiest to revert and include
the fixed version.
This reverts commit 73377229bb33ab79682ce4b126a63602d13304ad.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
The log target can be used via log alarms and show alarms.
Why? This feature was proposed/requested at
http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget
All messages use the same amount of space, prioritizing simplicity.
 | 
| |  | 
 | 
| | 
| 
| 
| 
|  | 
Doxygen generates quite a lot of warnings on libosmocore. Some of them
are obvious typos - this patch aims to fix such low-hanging fruit.
 | 
| | 
| 
| 
|  | 
without this, we break e.g. the openbsc build...
 | 
| | 
| 
| 
| 
| 
|  | 
this will avoid printing 'abis_nm.c' as the filename in the log, which
is pretty useless during debugging.  We want to know where
abis_nm_debugp_foh() is being used from, not where it is implemented.
 | 
| | 
| 
| 
| 
|  | 
This is required for CPUs < armv6, to access 16 and 32 values at right
memory locations.
 | 
| | 
| 
| 
|  | 
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
|  | 
Extracted from a patch by Max Suraev Max.Suraev@fairwaves.ru>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
When OpenBSC is handling more than one message at a time it is difficult
to see which log message belongs to which SMR instance. Introduce a
uint64_t id that can be set to the row_id/message_id and prefix all
log messages with SMR(ID).
This change is ABI and API incompatible with previous versions of
libosmogsm.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
When OpenBSC is handling more than one message at a time it is difficult
to see which log message belongs to which SMC. Introduce a uint64_t id
that can be set to the row_id/message_id and prefix all log messages
with SMC(ID).
This change is ABI and API incompatible with previous versions of
libosmogsm.
Example:
SMC(100) instance created
SMC(100) message MNSMS-EST-REQ received in state IDLE
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
msgb_pull returns a pointer to the new begin of the
buffer, unlike msgb_get(), where those functions
were originally taken from.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
 | 
| | 
| 
| 
|  | 
The code embeds the timer so one needs to include the header file.
 | 
| | 
| 
| 
| 
|  | 
Without the "extern" keyword the variables in this header file will be
seen as empty definitions when compiled on OSX.
 | 
| | 
| 
| 
| 
|  | 
When you are in the config-log VTY node, you expect "end" to work
like in any other sub-node of config.
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
|  | 
Introduce a print_filename attribute for each logtarget. Initialize it
with 1 to be backward compatible with earlier versions. The bit is taken
from an existint bitfield. There were at least six bits left of the byte.
 | 
| | 
| 
| 
| 
| 
|  | 
Applications should keep the log area in a static const area. Mark
the pointer as const to address compiler warnings in OpenBSC, cast
the const away for the osmo_log_info as it is not declared as const.
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
.. not sure how we could have missed that so far.
 | 
| | 
| 
| 
| 
| 
|  | 
msgb_get() has been wrong all the time, despite the documentation being
correct.  If you've used the broken msgb_get() before, you have to
change your code now, sorry.
 | 
| | 
| 
| 
| 
|  | 
this ensures that we can talloc the flow-control queue entries
as siblings off the bvc_ctx.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* add more comments on units of struct members
* make sure to parsre FC-BVC message correctly
* add error message in case user passes PDU larger than bucket size
* add new function to initialize flow control struct
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This code is supposed to implement the BSSGP flow control algorithm,
both for the per-BSS and for the per-MS flow control.
The code currently has no test cases, they will come in a separate
commit.
 |