Update:

I have been testing and I think the way to go is taking advantage of the
events generated by the dialog module (start/end/failed)...

I don't know if this is a bug, but shouldn't the $dlg(to_tag) be available
in the event_route[dialog:start] ??

I can access $dlg(callid), $dlg(from_tag) but not the $dlg(to_tag) and all
3 are needed to search and terminate an existing dialog. For now i'm using
$tt, but I'm wondering if this is correct or not? Let me know if I should
move this topic to github...

Thanks!
Joel.






On Sun, Mar 25, 2018 at 4:57 PM, Joel Serrano <[email protected]> wrote:

> Hi guys,
>
> I'm trying to set kamailio to not allow simultaneous calls from the same
> user, but if a second call comes in, the behavior desired is to process
> that second call and terminate the previous (already active) one.
>
> Say you have call A that creates dialog A.
>
> Then you have call B come in, creates dialog B.
>
> Can I save some info from dialog (call) A in a htable for example, then
> check that htable for the needed info from dialog (call) B and terminate
> dialog (call) A if it exists?
>
> I think using dlg_get() and dlg_bye() would do the trick but not 100% sure
> how they work..
>
>
> The example in the docs seems exactly the case:
>
> dlg_get --> "Search and set current dialog based on Call-ID, From-Tag and
> To-Tag parameters"
>
> if(dlg_get("abcdef", "123", "456"))
> {
> dlg_bye("all");
> }
>
> After the dlg_get() and dlg_bye() what happens to call B? Does the route
> continue running or does it end? Will it automatically switch back to the
> current dialog or do you have to manually switch back running dlg_get()
> again? (Sorry if I'm not explaining myself correctly, let me know if it
> sounds confusing)
>
> Does anyone have experience with these two functions?
>
>
> Thanks,
> Joel.
>
>
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to