Commit Graph

67 Commits

Author SHA1 Message Date
Dennis Grunert e6594159b4 Function call fix 2024-01-21 21:24:00 +01:00
Dennis Grunert a11bfb5740 Option to disable seconds within date/time IE
New option "time-no-seconds" disables sending current seconds within the date/time IE.
Some phones ignore the date/time IE if it is more precise than the current minute.
2024-01-21 21:15:08 +01:00
Dennis Grunert 882cda66df Fixed typo and merge differences 2024-01-20 18:10:21 +01:00
Dennis Grunert ccca8647d2 Merged jolly/work from upstream with local changes 2024-01-20 15:40:23 +01:00
Dennis Grunert 8f0acae4a1 Merged jolly/work from upstream with local changes 2024-01-20 15:25:13 +01:00
Dennis Grunert 96b51245f3 Merged jolly/work from upstream with local changes 2024-01-20 14:52:34 +01:00
Dennis Grunert e77106612c If AOC-D is disabled for an endpoint, do not send AOC-E; send AOC-D with zero units to indicate free of charge call; renamed aocd_timer to metering_unit_timer 2024-01-18 22:32:08 +01:00
Dennis Grunert 24cec65fc6 Attaching AOC-E to DISCONNECT or RELEASE; transmit AOC-E even if zero units have been charged; minor function/naming cleanup 2024-01-18 22:04:21 +01:00
Dennis Grunert d4698e7b48 Fixed AOC-D unit information length; encoding of AOC-E information according to real traces
- Fix: AOC-D unit information length was set to 1 despite its actual length
 - Removed optional BillingID from AOC-E data
 - Cross-checked AOC-D and AOC-E IEs to other systems (Audiocodes Mediant 800; traces found in public sources)
 - Tested with ISDN TEs: Siemens Profiset 51, T-Concept P522, Philips SOPHO ErgoLine, sphairon NT1PLUS-split; K1297 ISDN protocol tester
2024-01-18 21:46:25 +01:00
Dennis Grunert e39db4cffd AOC-S: Changed typeOfCharging to stepFunction
The durationCurrency typeOfCharging=stepFunction is more suitable to a per-unit metering than continuousCharging. stepFunction implies start of the first unit at call connect - for normal calls without additional unit charges for call setup, chargedItem CallSetup is set to FreeOfCharge.
Source: ETS 300 178
Tested with Bluephone and Clubtelefon 5 ISDN.
2024-01-18 18:39:05 +01:00
Dennis Grunert a390e93d9a AOC-S: Use variable time unit length (1...3 Bytes). Fixes wrong time calculation on Clubtelefon 5 ISDN 2024-01-18 18:39:04 +01:00
Dennis Grunert dfa07323c3 AOC-S time scale adjusted 2024-01-18 18:39:02 +01:00
Dennis Grunert cd7f1f8590 AOC information as separate facility messages for compatibility (CONNECT-attached AOC-D IE ignored by NT1plus) 2024-01-18 18:39:00 +01:00
Dennis Grunert 3779fd3034 Handling of unknown facility indications from terminals 2024-01-18 18:38:58 +01:00
Dennis Grunert 1e83fdfaad Changed AOC-D encoding value of TypeOfChargingInfo from Total to SubTotal
encodeAOCDChargingUnitOperation() set the value of TypeOfChargingInfo to Total, which results in ISDN phones not correctly displaying increasing units. Setting it to SubTotal fixed the issue.
2024-01-18 18:38:56 +01:00
Dennis Grunert ea6f1bec84 AOC-D and AOC-S facility generation from CC metering information
If metering details via IE_METERING are received from osmo-cc, AOC-S and/or AOC-D facility IEs are attached to PROCEEDING/ALERTING/CONNECT messages, and AOC-D facility messages are generated during the call. This feature can be enabled by setting 'aocs' and/or 'aocd' within the mISDN endpoint configuration.
2024-01-18 18:38:54 +01:00
Andreas Eversberg da94632e6e Move from local to external osmo* libraries
src/libdebug -> libosmocore
src/libselect -> libosmocore
src/libtimer -> libosmocore
src/libosmocc -> libosmo-cc
src/libg711 -> libosmo-cc
2024-01-18 18:38:50 +01:00
Dennis Grunert 0074b495d6 Allow AOC-E generation if AOC-D timer is not started (e.g. connect-only charge) 2024-01-18 08:57:34 +01:00
Dennis Grunert 3549cff4d6 Bugfix: Do not (re)start AOC-D timer within AOC-E generation 2024-01-18 01:53:14 +01:00
Dennis Grunert bd72569a0e Send AOC-E facility on call termination; fixed AOC-E encoding function
- Some ISDN terminals require AOC-E information to increment their internal unit counter. Tested with Siemens Profiset 51
- Fixed encodeAOCEChargingUnitOperation() producing incorrect AOC-E IE. Tested with K1297 protocol analyser, protocol ETSI-SupplementalServices
2024-01-18 01:41:32 +01:00
Dennis Grunert b79127209c AOC-S: Changed typeOfCharging to stepFunction
The durationCurrency typeOfCharging=stepFunction is more suitable to a per-unit metering than continuousCharging. stepFunction implies start of the first unit at call connect - for normal calls without additional unit charges for call setup, chargedItem CallSetup is set to FreeOfCharge.
Source: ETS 300 178
Tested with Bluephone and Clubtelefon 5 ISDN.
2024-01-11 14:40:21 +01:00
Dennis Grunert 6a2c3dcd13 AOC-S: Use variable time unit length (1...3 Bytes). Fixes wrong time calculation on Clubtelefon 5 ISDN 2024-01-11 02:27:02 +01:00
Dennis Grunert 2021babfaa AOC-S time scale adjusted 2024-01-10 20:27:10 +01:00
Dennis Grunert 71aec2ec7a AOC information as separate facility messages for compatibility (CONNECT-attached AOC-D IE ignored by NT1plus) 2024-01-10 18:13:14 +01:00
Dennis Grunert a549a66b64 Small parameter fix 2024-01-10 17:58:17 +01:00
Dennis Grunert 932f64877d Handling of unknown facility indications from terminals 2024-01-10 17:57:50 +01:00
Dennis Grunert 80864347f3 Changed AOC-D encoding value of TypeOfChargingInfo from Total to SubTotal
encodeAOCDChargingUnitOperation() set the value of TypeOfChargingInfo to Total, which results in ISDN phones not correctly displaying increasing units. Setting it to SubTotal fixed the issue.
2024-01-10 12:26:36 +01:00
Dennis Grunert 98e7813e77 AOC-D and AOC-S facility generation from CC metering information
If metering details via IE_METERING are received from osmo-cc, AOC-S and/or AOC-D facility IEs are attached to PROCEEDING/ALERTING/CONNECT messages, and AOC-D facility messages are generated during the call. This feature can be enabled by setting 'aocs' and/or 'aocd' within the mISDN endpoint configuration.
2024-01-09 13:28:05 +01:00
Andreas Eversberg 805ed34740 Updated libs 2024-01-07 18:07:42 +01:00
Andreas Eversberg fe60d15a20 Updated libs 2023-08-19 15:27:53 +02:00
Andreas Eversberg b4f5e950fc Fix channel selection for PTMP/NT-Mode
Channel selection in that mode must be forced, so that the TE nay not
select a different channel. In that mode the TE cannot know what
channel is allocated, so it cannot select a different channel.

Eumex PBX rejects calls without this fix.
2023-08-19 10:55:19 +02:00
Andreas Eversberg 3d385fd095 Fix brigde daemon forking; no more 'defunct' child process 2023-03-12 15:58:12 +01:00
Andreas Eversberg 72043327b9 Send two B-channel frames when first frame is received
The size of both frames match the receive size.
2023-03-04 18:47:19 +01:00
Andreas Eversberg de611e513d Debugging of libmisdn shows file and line now 2023-01-23 19:17:24 +01:00
Andreas Eversberg 8c10ee4a26 Replace polling by select and timer events 2023-01-23 18:36:36 +01:00
Andreas Eversberg 3e970cbc48 Updated libs 2023-01-22 19:52:38 +01:00
Andreas Eversberg 6b3911fc26 Add confirm message to ph_driver 2023-01-22 19:51:01 +01:00
Andreas Eversberg 2d24c1e12b fixed minor comment 2023-01-22 19:50:20 +01:00
Andreas Eversberg c72e5070ef Add comfort noise when call is on hold
This is required so that the RTP stream does not interrupt.
2022-10-30 16:58:44 +01:00
Andreas Eversberg e8a91e12f9 Updated libs 2022-10-30 16:58:38 +01:00
Andreas Eversberg 42f4e4a243 Fixed suspend/resume feature 2022-10-30 16:57:16 +01:00
Andreas Eversberg e6aa538562 Remove DSP kernel module dependency
* Use raw bchannel instead of DSP feature
* Removed DSP features
* Use new jitter buffer and control TX FIFO load by this application
* Added bridging daemon to assign time slots for bridging
2022-10-30 16:57:12 +01:00
Andreas Eversberg 9bbca1fb9e Add user space tone generation code 2022-09-16 18:24:26 +02:00
Andreas Eversberg be40b44515 Removed ph_socket, it is now a lib 2022-09-16 18:24:24 +02:00
Andreas Eversberg bc888d85cc Add clearmode and handle bearer capability according to Osmo-CC spec 2022-09-16 17:19:02 +02:00
Andreas Eversberg 8c0419b70e Add kernel (hardware) bridging 2022-09-16 17:18:58 +02:00
Andreas Eversberg 63371cc055 Make this application capable of using kernel or user space mISDN 2022-09-16 17:18:56 +02:00
Andreas Eversberg b85d9d6580 libmisdnuser: Fixed compiler warning 2022-09-16 17:18:52 +02:00
Andreas Eversberg 64b5653b05 Add mISDNuser to this project 2022-09-16 17:18:49 +02:00
Andreas Eversberg 8a81901d9c Fixed mISDN (kernel code) to use MPH_ instead of PH_ towards layer 3 2022-09-16 17:18:44 +02:00