DVMProject/dvmhost

Missing LC_CALL_TERM messages causes VC grant denies until the TG hangtime expires

Closed this issue · 3 comments

W3AXL commented

Running the latest 3.5-dev branch, the host will deny any calls to a TG after the first call until the channel grant expires.

    (First Radio Calls)
M: 2023-06-15 18:05:41.640 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118336, dstId = 56001
M: 2023-06-15 18:05:41.640 (HOST) P25 Affiliation, granting channel, chNo = 1782, dstId = 56001, srcId = 3118336
A: 2023-06-15 18:05:41.641 P25 RF group grant request from 3118336 to TG 56001
M: 2023-06-15 18:05:41.641 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1782, srcId = 3118336, dstId = 56001
M: 2023-06-15 18:05:42.616 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118336, dstId = 56001
A: 2023-06-15 18:05:42.616 P25 RF group grant request from 3118336 to TG 56001
M: 2023-06-15 18:05:42.617 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1782, srcId = 3118336, dstId = 56001
M: 2023-06-15 18:05:43.668 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118336, dstId = 56001
A: 2023-06-15 18:05:43.668 P25 RF group grant request from 3118336 to TG 56001
M: 2023-06-15 18:05:43.668 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1782, srcId = 3118336, dstId = 56001
    (Second Radio is Denied)
M: 2023-06-15 18:05:54.201 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118337, dstId = 56001
W: 2023-06-15 18:05:54.201 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request) denied, traffic in progress, dstId = 56001
M: 2023-06-15 18:05:54.201 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_OSP_DENY_RSP (Deny Response), AIV = 0, reason = $67, srcId = 3118337, dstId = 56001
A: 2023-06-15 18:05:54.201 P25 RF group grant request from 3118337 to TG 56001 denied
M: 2023-06-15 18:05:55.097 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118337, dstId = 56001
W: 2023-06-15 18:05:55.097 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request) denied, traffic in progress, dstId = 56001
M: 2023-06-15 18:05:55.097 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_OSP_DENY_RSP (Deny Response), AIV = 0, reason = $67, srcId = 3118337, dstId = 56001
A: 2023-06-15 18:05:55.098 P25 RF group grant request from 3118337 to TG 56001 denied
    (Channel Grant is released)
M: 2023-06-15 18:05:58.652 (HOST) P25 Affiliation, releasing channel grant, chNo = 1782, dstId = 56001
    (Second Radio is Granted)
M: 2023-06-15 18:06:00.012 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118337, dstId = 56001
M: 2023-06-15 18:06:00.012 (HOST) P25 Affiliation, granting channel, chNo = 1794, dstId = 56001, srcId = 3118337
A: 2023-06-15 18:06:00.012 P25 RF group grant request from 3118337 to TG 56001
M: 2023-06-15 18:06:00.013 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1794, srcId = 3118337, dstId = 56001
M: 2023-06-15 18:06:00.941 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118337, dstId = 56001
A: 2023-06-15 18:06:00.941 P25 RF group grant request from 3118337 to TG 56001
M: 2023-06-15 18:06:00.942 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1794, srcId = 3118337, dstId = 56001
M: 2023-06-15 18:06:01.884 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Request), srcId = 3118337, dstId = 56001
A: 2023-06-15 18:06:01.884 P25 RF group grant request from 3118337 to TG 56001
M: 2023-06-15 18:06:01.885 (RF) P25_DUID_TSDU (Trunking System Data Unit), TSBK_IOSP_GRP_VCH (Group Voice Channel Grant), emerg = 0, encrypt = 0, prio = 4, chNo = 1794, srcId = 3118337, dstId = 56001
M: 2023-06-15 18:06:16.878 (HOST) P25 Affiliation, releasing channel grant, chNo = 1794, dstId = 56001

The LC_CALL_TERM message is missing at the conclusion of the first call, which means subsequent radios trying to call the same group are denied.

@W3AXL try the latest commit (48c7e12). This adds some configuration values, so be vigilant and check.

The overall change here is to basically allow a configuration on the VCs which would allow them to know about which CC they need to notify for a grant state change (i.e. touch (update grant call in progress), or release).

I'd treat this as experimental, as such I'm leaving this ticket open for now. More work may be necessary, but we can start with this.

I actually recommend commit 797b6a4. I made boo boo copy and paste errors in 48c7e12.

I committed ac001a4 with some more changes to attempt to satisfy this issue. Please test and report back.