[Asterisk-code-review] app_dial: Prevent call from hanging (asterisk[master])

N A asteriskteam at digium.com
Sun Nov 6 06:23:27 CST 2022


N A has posted comments on this change. ( https://gerrit.asterisk.org/c/asterisk/+/15985 )

Change subject: app_dial: Prevent call from hanging
......................................................................


Patch Set 2:

(1 comment)

Patchset:

PS2: 
I know this is kind of old at this point, but I had the idea of analyzing the frame src (f.src) to see if that revealed anything.

It appears the voice frames that are being read are from the *caller*. If you do channel originate, no issue occurs since the console is not supplying any media. Depending on how you test it, the frame source might be RTP, silence_generator, ulawtolin, (null), etc. - depending on what is connected to the channel doing the dialing.

So there isn't really an infinite source of voice frames... app_dial is just reading any voice frames that may be available from the caller.

Does this hint at something further that you can think of?

Comparison:

voip*CLI> channel originate Local/s at f1 application Wait 1
[2022-11-06 12:21:39]     -- Called s at f1
[2022-11-06 12:21:39]     -- Executing [s at f1:1] Answer("Local/s at f1-0000001b;2", "") in new stack
[2022-11-06 12:21:39]     -- Local/s at f1-0000001b;1 answered
[2022-11-06 12:21:39]        > Launching Wait(1) on Local/s at f1-0000001b;1
[2022-11-06 12:21:39]     -- Executing [s at f1:2] Dial("Local/s at f1-0000001b;2", "Local/s at f2/n,,D(::123456789)") in new stack
[2022-11-06 12:21:39]     -- Called Local/s at f2/n
[2022-11-06 12:21:39]     -- Executing [s at f2:1] Progress("Local/s at f2-0000001c;2", "") in new stack
[2022-11-06 12:21:39]     -- Executing [s at f2:2] Hangup("Local/s at f2-0000001c;2", "") in new stack
[2022-11-06 12:21:39]     -- Local/s at f2-0000001c;1 is making progress passing it to Local/s at f1-0000001b;2
[2022-11-06 12:21:39]   == Spawn extension (f2, s, 2) exited non-zero on 'Local/s at f2-0000001c;2'
[2022-11-06 12:21:39]     -- Sending DTMF '123456789' to the called party as result of receiving a PROGRESS message.
[2022-11-06 12:21:40]   == Spawn extension (f1, s, 2) exited non-zero on 'Local/s at f1-0000001b;2'
[2022-11-06 12:21:40]     -- Remote UNIX connection
[2022-11-06 12:21:40]     -- Remote UNIX connection disconnected

voip*CLI> channel originate Local/s at f1 application StreamSilence 1
[2022-11-06 12:21:51]     -- Called s at f1
[2022-11-06 12:21:51]     -- Executing [s at f1:1] Answer("Local/s at f1-0000001d;2", "") in new stack
[2022-11-06 12:21:51]     -- Local/s at f1-0000001d;1 answered
[2022-11-06 12:21:51]        > Launching StreamSilence(1) on Local/s at f1-0000001d;1
[2022-11-06 12:21:51]     -- Executing [s at f1:2] Dial("Local/s at f1-0000001d;2", "Local/s at f2/n,,D(::123456789)") in new stack
[2022-11-06 12:21:51]     -- Called Local/s at f2/n
[2022-11-06 12:21:51]     -- Executing [s at f2:1] Progress("Local/s at f2-0000001e;2", "") in new stack
[2022-11-06 12:21:51]     -- Local/s at f2-0000001e;1 is making progress passing it to Local/s at f1-0000001d;2
[2022-11-06 12:21:51]     -- Sending DTMF '123456789' to the called party as result of receiving a PROGRESS message.
[2022-11-06 12:21:51]     -- Executing [s at f2:2] Hangup("Local/s at f2-0000001e;2", "") in new stack
[2022-11-06 12:21:51]   == Spawn extension (f2, s, 2) exited non-zero on 'Local/s at f2-0000001e;2'
[2022-11-06 12:21:51] WARNING[2023][C-00000010]: app_dial.c:1882 wait_for_answer: Unable to forward frametype: 2
[2022-11-06 12:21:51] WARNING[2023][C-00000010]: app_dial.c:1887 wait_for_answer: Frame source: silence_generator_generate
[2022-11-06 12:21:51] WARNING[2023][C-00000010]: app_dial.c:1882 wait_for_answer: Unable to forward frametype: 2
[2022-11-06 12:21:51] WARNING[2023][C-00000010]: app_dial.c:1887 wait_for_answer: Frame source: silence_generator_generate
[2022-11-06 12:21:51] WARNING[2023][C-00000010]: app_dial.c:1882 wait_for_answer: Unable to forward frametype: 2
etc.



-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/15985
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: I6f2ee3f77b892015bc05513d868f071f279a3c80
Gerrit-Change-Number: 15985
Gerrit-PatchSet: 2
Gerrit-Owner: N A <asterisk at phreaknet.org>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-Comment-Date: Sun, 06 Nov 2022 12:23:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20221106/a6ba73ca/attachment-0001.html>


More information about the asterisk-code-review mailing list