mirror of
https://github.com/openwrt/telephony.git
synced 2026-04-15 10:51:57 +00:00
asterisk-chan-lantiq: apply hook state timing in right order
Apply hook state timing parameters starting from the biggest
time interval down to the shortest, so the required conditions are
always true while applying.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit a21103a4de)
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=asterisk-chan-lantiq
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/kochstefan/asterisk_channel_lantiq.git
|
||||
PKG_SOURCE_VERSION:=2f029ec8778420538c8151c6aceba0f7b44b07c9
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 90c67696fa6676487bb40f391d6cae037175f418 Mon Sep 17 00:00:00 2001
|
||||
From 2a379aa2490218d3f15585a8d77b13a17d9eed6b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Tue, 18 Jun 2024 19:41:38 +0100
|
||||
Subject: [PATCH 2/2] configure hook state machine timing
|
||||
@@ -131,6 +131,33 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
+ /* Configure hook state machine timing */
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKON_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.hook_on_time;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.hook_on_time;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKON_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKOFF_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.hook_off_time;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.hook_off_time;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKOFF_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKFLASH_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.flash_time_min;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.flash_time_max;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKFLASH_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_DIGITLOW_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.digit_low_time_min;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.digit_low_time_max;
|
||||
@@ -147,33 +174,6 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_DIGITHIGH_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKFLASH_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.flash_time_min;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.flash_time_max;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKFLASH_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKOFF_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.hook_off_time;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.hook_off_time;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKOFF_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
+ memset(&line_hook_vt, 0, sizeof(line_hook_vt));
|
||||
+ line_hook_vt.nType = IFX_TAPI_LINE_HOOK_VT_HOOKON_TIME;
|
||||
+ line_hook_vt.nMinTime = dev_ctx.hook_on_time;
|
||||
+ line_hook_vt.nMaxTime = dev_ctx.hook_on_time;
|
||||
+ if (ioctl(dev_ctx.ch_fd[c], IFX_TAPI_LINE_HOOK_VT_SET, &line_hook_vt)) {
|
||||
+ ast_log(LOG_ERROR, "IFX_TAPI_LINE_HOOK_VT_HOOKON_TIME %d failed\n", c);
|
||||
+ goto load_error_st;
|
||||
+ }
|
||||
+
|
||||
/* Configure Caller ID type */
|
||||
memset(&cid_cfg, 0, sizeof(cid_cfg));
|
||||
|
||||
Reference in New Issue
Block a user