Asterisk Call File_Can 等待或获得响应以开始播放?
Astarisk Call File_Can wait or get response to start playback?
Channel: $number
Application: Playback
Data: $outputfilename
当被叫方回答 phone 时,s/he 错过了第一个或两个单词。所以我想等到 s/he 给出类似 "hello?' or "alo" 的任何响应,然后开始播放。无论如何在调用文件中完成它吗?
如果没有至少我想等1或2秒。 wait(2) 在这里工作吗?
您可以创建新的拨号方案上下文。在其中添加 Wait 应用程序,然后添加 Palyback。在通话文件中,您可以通过直接指定号码或通过 Dial(Local/XXX@new-context)
拨号将号码连接到此新上下文
您遇到的问题是 RTP 流不完整 "up"。在呼叫建立之前,不会传送 RTP(声音)。所以,如果你 "start talking" 马上,你就会失去话语权。这是拨号方案方面的问题,因为它取决于呼叫的两端是否处于 "shipping sound" 阶段。
使用 Answer() ; Wait()
并不总能解决 VoIP 连接上的这个问题,因为它实际上并不能使音频流移动。 Wait()
更适用于设置速度较慢的古怪 T1 线路,您实际上是在等待其余硬件赶上来。
您只需播放 1 秒或 2 秒(1 秒在 80% 的时间内有效)即可解决此问题。例如:
[answering_context]
exten => s,1,Verbose(2,Example of good audio discipline)
same => n, Playback(silence/1)
same => n, Playback(the_real_message_you_want_to_send)
"Silence" 在技术上是 "still sound",但人类无法判断您在 "silence" 期间是否正在丢弃数据包或剪裁单词。到 the_real_message_you_want_to_send
播放时,音频流将完全稳定。
干杯!
使用
Channel: $number
Application: Playback
Data: beep&silence/2&$outputfilename
这样它会发出哔哔声,这可能不会被人听到,但肯定会启动 rtp 进程。之后 2 秒等待(静音文件),这可能是 echocancel 训练或连接过程所需要的。这样你的信息就会清楚。
Channel: $number
Application: Playback
Data: $outputfilename
当被叫方回答 phone 时,s/he 错过了第一个或两个单词。所以我想等到 s/he 给出类似 "hello?' or "alo" 的任何响应,然后开始播放。无论如何在调用文件中完成它吗?
如果没有至少我想等1或2秒。 wait(2) 在这里工作吗?
您可以创建新的拨号方案上下文。在其中添加 Wait 应用程序,然后添加 Palyback。在通话文件中,您可以通过直接指定号码或通过 Dial(Local/XXX@new-context)
拨号将号码连接到此新上下文您遇到的问题是 RTP 流不完整 "up"。在呼叫建立之前,不会传送 RTP(声音)。所以,如果你 "start talking" 马上,你就会失去话语权。这是拨号方案方面的问题,因为它取决于呼叫的两端是否处于 "shipping sound" 阶段。
使用 Answer() ; Wait()
并不总能解决 VoIP 连接上的这个问题,因为它实际上并不能使音频流移动。 Wait()
更适用于设置速度较慢的古怪 T1 线路,您实际上是在等待其余硬件赶上来。
您只需播放 1 秒或 2 秒(1 秒在 80% 的时间内有效)即可解决此问题。例如:
[answering_context]
exten => s,1,Verbose(2,Example of good audio discipline)
same => n, Playback(silence/1)
same => n, Playback(the_real_message_you_want_to_send)
"Silence" 在技术上是 "still sound",但人类无法判断您在 "silence" 期间是否正在丢弃数据包或剪裁单词。到 the_real_message_you_want_to_send
播放时,音频流将完全稳定。
干杯!
使用
Channel: $number
Application: Playback
Data: beep&silence/2&$outputfilename
这样它会发出哔哔声,这可能不会被人听到,但肯定会启动 rtp 进程。之后 2 秒等待(静音文件),这可能是 echocancel 训练或连接过程所需要的。这样你的信息就会清楚。