| 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.
|