[OpenSIPS-Users] Generate CANCEL on 180

Kingsley Tart kingsley at dns99.co.uk
Tue Apr 20 17:09:30 EST 2021


Firstly, I'm new to OpenSIPS so treat my comments accordingly.

But, can you do something in an onreply route?

eg, in a test setup I have, when I get an INVITE I do this:

	create_dialog("pPB");
	t_on_reply("doodle");

(I can't remember whether the dialog is needed for this)

and then I have this:

onreply_route[doodle] {
	# expect $T_reply_code to likely first be 100
	# then 180 or 183 for a progressing call
	# 200 when call is answered
	# or failure code (eg 4xx) or whatever
	if (t_check_status("^1[0-9][0-9]$")) {
		switch ($T_reply_code) {
			case 180: $acc_extra(t_ringing) = $Ts; break;
			case 183: $acc_extra(t_progress) = $Ts; break;
		}
	} else if (t_check_status("^2[0-9][0-9]$")) {
		$acc_extra(t_answer) = $Ts;
	} else {
		xlog("Something else\n");
	}
}

so when a 180 is received, it calls the above route function. Could you
send a CANCEL from there?

Cheers,
Kingsley.

On Tue, 2021-04-20 at 16:55 +0300, Antonis Psaras wrote:
> Dear all
> 
> I am trying to create a service which will generate missed calls. In
> order to be more accurate, I want to CANCEL the request when 180 is
> received.
> 
> The scenario is the following
> 
> Asterisk Invite -> OpenSIPs -> Carrier
> 
> Carrier 183 -> OpenSIPs -> Asterisk
> 
> Carrier 180 -> OpenSIPs
> 
> OpenSIPs Cancel -> Carrier
> 
>  
> Is that possible to be done from script without external app?
>  
> Regards
>  
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list