hello,

thanks Kevin, I use ast_check_hangup(chan_peer) and I can get the user CANCEL. 

for now my APP work ok, I’ll test in production. 


Thanks



> On 30 Jan 2020, at 16:04, i...@magnussolution.com wrote:
> 
> Hi Kevin, thanks for your help
> 
> I’ll to try your recommendation and send you the feedback.
> 
> There is any existent method to execute AMD on the 183? 
> 
> best regards
> 
> 
>> On 30 Jan 2020, at 14:21, Kevin Harwell <kharw...@digium.com 
>> <mailto:kharw...@digium.com>> wrote:
>> 
>> On Wed, Jan 29, 2020 at 3:07 PM i...@magnussolution.com 
>> <mailto:i...@magnussolution.com> <i...@magnussolution.com 
>> <mailto:i...@magnussolution.com>> wrote:
>> Hello
>> 
>> I’m to try execute AMD on the 183 signalisation, to detect audio on early 
>> media.
>> 
>> 
>> I’m work in  app_dial.c and it work ok when the audio start on the beginner, 
>> but when keep ringing I need to continue analyse until receive the 200 OK or 
>> some error. I already do it
>> 
>> but, always there a but, when the call is canceled I need to stop the 
>> whatfor() method.
>> 
>> 
>> while ((res = ast_waitfor(chan, 2 * maxWaitTimeForFrame)) > -1) {
>>         //here is where I analise the 183 
>> 
>>         /* this code check the chan status to break the while()*/
>>         if (ast_channel_state(chan) != 5) { 
>>                  ast_verb(1,"status channel answere %d 
>> \n",ast_channel_state(chan));
>>                  ast_frfree(f); 
>>                 break; 
>>          }
>> 
>> }
>> 
>> 
>> there are any method to check if the originate channel CANCEL the call?
>> 
>> 
>> Looking through the app_dial code it looks like the peerflags gets set upon 
>> hangup. If you can get access to that (not sure where your code is located) 
>> then you should be able to check the OPT_CALLER_HANGUP value for that.
>> 
>> Another alternative maybe is the hangupcause as it gets set on the channel 
>> too when hung up so you might be able to retrieve that and check it for some 
>> value, but not sure if the causes will give you what you need.
>> 
>> A third way is to check if the channel hung up using the "ast_check_hangup" 
>> or "ast_check_hangup_locked" function (maybe the best option?).
>> 
>> -- 
>> Kevin Harwell
>> Senior Software Developer
>> Sangoma Technologies
>> Check us out at: https://sangoma.com <https://sangoma.com/> & 
>> https://asterisk.org <https://asterisk.org/>-- 
>> _____________________________________________________________________
>> -- Bandwidth and Colocation Provided by http://www.api-digital.com 
>> <http://www.api-digital.com/> --
>> 
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>>   http://lists.digium.com/mailman/listinfo/asterisk-dev 
>> <http://lists.digium.com/mailman/listinfo/asterisk-dev>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to