avmd stop not working on 1.8.5
Hello, The command 'avmd {uuid} stop' is currently causing some issues on one of our Freeswitch instances running version 1.8.5 -6-31281a0bf1 (Installed using apt-get). When executing the command in Python or simply through the cli, it just hangs and doesn't continue processing the rest of the script (in the case of python). After the call is disconnected physically, the 'show channels' command still shows the channel. 'uuid_kill' ends in 'no such channel'. Also, no new calls can be originated, until Freeswitch is restarted. I can disconnect from the cli, and reconnect again just fine, so Freeswitch doesn't actually crash. We have another instance running an older version of Freeswitch 1.6.13 git d422498 (Compiled from source), which doesn't run into this issue. The python script executed is the same on both instances. When we remove the 'avmd {uuid} stop' command from the script, the script continues normally and the call is disconnected without issue, and removed from the internal db. Any ideas how to debug this properly? I've tried gdb, but since Freeswitch doesn't crash, nothing is generated (unless I used it wrong. I'm not experienced in running gdb). What is the performance impact if we leave out the avmd stop command? Will any resources consumed by the module be cleaned up automatically after the call disconnects? Regards, Grant
Hi all, Just leaving this out here for anyone encountering the same issue: It seems like the 'avmd {uuid} stop' command is just broken in this version. We've changed our python script to call the avmd_start and avmd_stop applications on the session itself, like so: session.execute("avmd_start") session.execute("avmd_stop") session.execute("avmd", "start|stop") gives a deprecated warning, as documented on the wiki. Also, when a beep is detected, do not call session.execute("avmd_stop") as this results in the same behavior as when calling 'avmd {uuid} stop'. Simply skip the stop command when session.getVariable("avmd_detect") returns True. Hope this helps. Regards, Grant From: FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> On Behalf Of Grant Bagdasarian Sent: woensdag 6 maart 2019 14:23 To: freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-users] avmd stop not working on 1.8.5 Hello, The command 'avmd {uuid} stop' is currently causing some issues on one of our Freeswitch instances running version 1.8.5 -6-31281a0bf1 (Installed using apt-get). When executing the command in Python or simply through the cli, it just hangs and doesn't continue processing the rest of the script (in the case of python). After the call is disconnected physically, the 'show channels' command still shows the channel. 'uuid_kill' ends in 'no such channel'. Also, no new calls can be originated, until Freeswitch is restarted. I can disconnect from the cli, and reconnect again just fine, so Freeswitch doesn't actually crash. We have another instance running an older version of Freeswitch 1.6.13 git d422498 (Compiled from source), which doesn't run into this issue. The python script executed is the same on both instances. When we remove the 'avmd {uuid} stop' command from the script, the script continues normally and the call is disconnected without issue, and removed from the internal db. Any ideas how to debug this properly? I've tried gdb, but since Freeswitch doesn't crash, nothing is generated (unless I used it wrong. I'm not experienced in running gdb). What is the performance impact if we leave out the avmd stop command? Will any resources consumed by the module be cleaned up automatically after the call disconnects? Regards, Grant
If you think you have found a bug its best to open a ticket on Jira. That way all the discussion, problem descriptions, patches and commits are all tracked together and the devs don't have to search the mailing list to see what is broken or see this, get busy then forget it about it later From: FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> On Behalf Of Grant Bagdasarian Sent: Thursday, March 7, 2019 8:16 AM To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org> Subject: Re: [Freeswitch-users] avmd stop not working on 1.8.5 Hi all, Just leaving this out here for anyone encountering the same issue: It seems like the 'avmd {uuid} stop' command is just broken in this version. We've changed our python script to call the avmd_start and avmd_stop applications on the session itself, like so: session.execute("avmd_start") session.execute("avmd_stop") session.execute("avmd", "start|stop") gives a deprecated warning, as documented on the wiki. Also, when a beep is detected, do not call session.execute("avmd_stop") as this results in the same behavior as when calling 'avmd {uuid} stop'. Simply skip the stop command when session.getVariable("avmd_detect") returns True. Hope this helps. Regards, Grant From: FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org> > On Behalf Of Grant Bagdasarian Sent: woensdag 6 maart 2019 14:23 To: freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org> Subject: [Freeswitch-users] avmd stop not working on 1.8.5 Hello, The command 'avmd {uuid} stop' is currently causing some issues on one of our Freeswitch instances running version 1.8.5 -6-31281a0bf1 (Installed using apt-get). When executing the command in Python or simply through the cli, it just hangs and doesn't continue processing the rest of the script (in the case of python). After the call is disconnected physically, the 'show channels' command still shows the channel. 'uuid_kill' ends in 'no such channel'. Also, no new calls can be originated, until Freeswitch is restarted. I can disconnect from the cli, and reconnect again just fine, so Freeswitch doesn't actually crash. We have another instance running an older version of Freeswitch 1.6.13 git d422498 (Compiled from source), which doesn't run into this issue. The python script executed is the same on both instances. When we remove the 'avmd {uuid} stop' command from the script, the script continues normally and the call is disconnected without issue, and removed from the internal db. Any ideas how to debug this properly? I've tried gdb, but since Freeswitch doesn't crash, nothing is generated (unless I used it wrong. I'm not experienced in running gdb). What is the performance impact if we leave out the avmd stop command? Will any resources consumed by the module be cleaned up automatically after the call disconnects? Regards, Grant
you can find commit that changed behavior using command "git bisect". Sergey чт, 7 мар. 2019 г. в 21:55, <krice@tollfreegateway.com>:
If you think you have found a bug its best to open a ticket on Jira. That way all the discussion, problem descriptions, patches and commits are all tracked together and the devs don’t have to search the mailing list to see what is broken or see this, get busy then forget it about it later
*From:* FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> *On Behalf Of *Grant Bagdasarian
*Sent:* Thursday, March 7, 2019 8:16 AM *To:* FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org> *Subject:* Re: [Freeswitch-users] avmd stop not working on 1.8.5
Hi all,
Just leaving this out here for anyone encountering the same issue:
It seems like the ‘avmd {uuid} stop’ command is just broken in this version.
We’ve changed our python script to call the avmd_start and avmd_stop applications on the session itself, like so:
session.execute("avmd_start")
session.execute("avmd_stop")
session.execute(“avmd”, “start|stop”) gives a deprecated warning, as documented on the wiki.
Also, when a beep is detected, do not call session.execute("avmd_stop") as this results in the same behavior as when calling ‘avmd {uuid} stop’.
Simply skip the stop command when session.getVariable("avmd_detect") returns True.
Hope this helps.
Regards,
Grant
*From:* FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> *On Behalf Of *Grant Bagdasarian *Sent:* woensdag 6 maart 2019 14:23 *To:* freeswitch-users@lists.freeswitch.org *Subject:* [Freeswitch-users] avmd stop not working on 1.8.5
Hello,
The command ‘avmd {uuid} stop’ is currently causing some issues on one of our Freeswitch instances running version 1.8.5 -6-31281a0bf1 (Installed using apt-get).
When executing the command in Python or simply through the cli, it just hangs and doesn’t continue processing the rest of the script (in the case of python).
After the call is disconnected physically, the ‘show channels’ command still shows the channel. ‘uuid_kill’ ends in ‘no such channel’.
Also, no new calls can be originated, until Freeswitch is restarted.
I can disconnect from the cli, and reconnect again just fine, so Freeswitch doesn’t actually crash.
We have another instance running an older version of Freeswitch 1.6.13 git d422498 (Compiled from source), which doesn’t run into this issue.
The python script executed is the same on both instances.
When we remove the ‘avmd {uuid} stop’ command from the script, the script continues normally and the call is disconnected without issue, and removed from the internal db.
Any ideas how to debug this properly? I’ve tried gdb, but since Freeswitch doesn’t crash, nothing is generated (unless I used it wrong. I’m not experienced in running gdb).
What is the performance impact if we leave out the avmd stop command? Will any resources consumed by the module be cleaned up automatically after the call disconnects?
Regards,
Grant
_________________________________________________________________________ Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
Hi Grant, Thank you for reporting the issue. The deprecated API "avmd uuid stop" call can still be used, though it is advised to switch to new APP "avmd_stop", when called from scripts. There was a bug in "avmd stop". This has now been fixed: https://freeswitch.org/jira/projects/FS/issues/FS-11708 and is merged into master: https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/c8e9eeaec9... What is the performance impact if we leave out the avmd stop command? Will
any resources consumed by the module be cleaned up automatically after the call disconnects?
Avmd will be processing incoming audio. It won't consume resources if audio is not written to FS session. Avmd threads will be sleeping. All resources will be cleaned up when FS cleans up session of that call. I have plans to create improved avmd, using different algorithm for tone detection. Everyone is welcome to add to requirements, so we can make it better: https://github.com/dataandsignal/mavmd/blob/master/requirements.txt cheers, Piotr
participants (4)
-
Grant Bagdasarian
-
krice@tollfreegateway.com
-
Piotr Gregor
-
Sergey Safarov