处理 SIP 请求时,如何在发送响应之前运行长时间运行的函数?

问题描述 投票:0回答:0

我正在写一个星号模块。当收到某个 SIP 请求时,我想等到某个条件被触发,并且只有在它完成后(最多 5 秒),才允许 Asterisk 的核心功能进一步处理这个请求。

我尝试创建一个

pj_thread_t
运行我的长时间运行的任务,并且有一个循环运行多次延迟 (
pj_thread_sleep
) 直到满足预期条件。但是,这会阻止 Asterisk 中的所有 SIP 消息处理,而不仅仅是我正在处理的消息。

使用

pj_thread_t
不是正确的方法吗?

c asterisk pjsip
© www.soinside.com 2019 - 2024. All rights reserved.