Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do: 1. Asterisk sends INVITE to Kamailio. Kamailio performs lookup of available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot!
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use *setflag*/*isflagset*
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець volodyaivanets@gmail.com wrote:
Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of
available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello Sergiu,
We allow multiple contacts to register on single account. They can have different properties. On step 1 I'm looking for something specific which can be different for different contacts. If I understood correctly *setbflag* and *isbflagset* can set and check flags for different branches independently.
Thank you!
пт, 24 трав. 2019 о 18:14 Sergiu Pojoga pojogas@gmail.com пише:
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use *setflag*/*isflagset*
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець < volodyaivanets@gmail.com> wrote:
Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of
available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Then.. I don't know, lol
But the fact that ACKs belong or not to even different transactions (depending on whether positive or negative reply) must be playing a role here.
Good luck.
On Fri, May 24, 2019, 12:11 PM Володимир Іванець, volodyaivanets@gmail.com wrote:
Hello Sergiu,
We allow multiple contacts to register on single account. They can have different properties. On step 1 I'm looking for something specific which can be different for different contacts. If I understood correctly *setbflag* and *isbflagset* can set and check flags for different branches independently.
Thank you!
пт, 24 трав. 2019 о 18:14 Sergiu Pojoga pojogas@gmail.com пише:
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use *setflag*/*isflagset*
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець < volodyaivanets@gmail.com> wrote:
Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of
available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Branches are a creature of transactions. It follows that “branch flags” are transaction-persistent flags at the branch level, rather than scoped to the transaction as a whole.
ACKs constitute a separate transaction.
— Sent from mobile, with due apologies for brevity and errors.
On May 24, 2019, at 2:45 PM, Sergiu Pojoga pojogas@gmail.com wrote:
Then.. I don't know, lol
But the fact that ACKs belong or not to even different transactions (depending on whether positive or negative reply) must be playing a role here.
Good luck.
On Fri, May 24, 2019, 12:11 PM Володимир Іванець, volodyaivanets@gmail.com wrote: Hello Sergiu,
We allow multiple contacts to register on single account. They can have different properties. On step 1 I'm looking for something specific which can be different for different contacts. If I understood correctly setbflag and isbflagset can set and check flags for different branches independently.
Thank you!
пт, 24 трав. 2019 о 18:14 Sergiu Pojoga pojogas@gmail.com пише:
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use setflag/isflagset
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець volodyaivanets@gmail.com wrote: Hello everyone!
I'm not sure if I correctly understood the description of functions isbflagset and isbflagset so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of available contacts and then few checks in branch_route. I'm adding setbflag("17", $T_branch_idx); there.
- Later in route[NATMANAGE] I added if (isbflagset("17", $T_branch_idx)) { and additional logic. isbflagset results in true (for same INVITE).
- Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. isbflagset results in false.
So my question is: shouldn't isbflagset be true for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello Alex,
Thank you for the clarification. Now I understand this behavior.
пт, 24 трав. 2019 о 22:07 Alex Balashov abalashov@evaristesys.com пише:
Branches are a creature of transactions. It follows that “branch flags” are transaction-persistent flags at the branch level, rather than scoped to the transaction as a whole.
ACKs constitute a separate transaction.
— Sent from mobile, with due apologies for brevity and errors.
On May 24, 2019, at 2:45 PM, Sergiu Pojoga pojogas@gmail.com wrote:
Then.. I don't know, lol
But the fact that ACKs belong or not to even different transactions (depending on whether positive or negative reply) must be playing a role here.
Good luck.
On Fri, May 24, 2019, 12:11 PM Володимир Іванець, < volodyaivanets@gmail.com> wrote:
Hello Sergiu,
We allow multiple contacts to register on single account. They can have different properties. On step 1 I'm looking for something specific which can be different for different contacts. If I understood correctly *setbflag* and *isbflagset* can set and check flags for different branches independently.
Thank you!
пт, 24 трав. 2019 о 18:14 Sergiu Pojoga pojogas@gmail.com пише:
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use *setflag*/*isflagset*
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець < volodyaivanets@gmail.com> wrote:
Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of
available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello again,
I've just noticed that if new branch is created after using *t_suspend* and *t_continue*, branch flag can not be used. Not sure if it can not be set or checked. Doues anyone know about potential problems with such configuration?
Thanks!
вт, 28 трав. 2019 о 19:43 Володимир Іванець volodyaivanets@gmail.com пише:
Hello Alex,
Thank you for the clarification. Now I understand this behavior.
пт, 24 трав. 2019 о 22:07 Alex Balashov abalashov@evaristesys.com пише:
Branches are a creature of transactions. It follows that “branch flags” are transaction-persistent flags at the branch level, rather than scoped to the transaction as a whole.
ACKs constitute a separate transaction.
— Sent from mobile, with due apologies for brevity and errors.
On May 24, 2019, at 2:45 PM, Sergiu Pojoga pojogas@gmail.com wrote:
Then.. I don't know, lol
But the fact that ACKs belong or not to even different transactions (depending on whether positive or negative reply) must be playing a role here.
Good luck.
On Fri, May 24, 2019, 12:11 PM Володимир Іванець, < volodyaivanets@gmail.com> wrote:
Hello Sergiu,
We allow multiple contacts to register on single account. They can have different properties. On step 1 I'm looking for something specific which can be different for different contacts. If I understood correctly *setbflag* and *isbflagset* can set and check flags for different branches independently.
Thank you!
пт, 24 трав. 2019 о 18:14 Sergiu Pojoga pojogas@gmail.com пише:
I might be wrong, but isn't ACK part of a transaction? If so, you'd need to use *setflag*/*isflagset*
Cheers.
On Fri, May 24, 2019 at 10:03 AM Володимир Іванець < volodyaivanets@gmail.com> wrote:
Hello everyone!
I'm not sure if I correctly understood the description of functions *isbflagset* and *isbflagset* so once again I'm asking for help :)
Here is what I do:
- Asterisk sends INVITE to Kamailio. Kamailio performs lookup of
available contacts and then few checks in branch_route. I'm adding *setbflag("17", $T_branch_idx);* there. 2. Later in route[NATMANAGE] I added *if (isbflagset("17", $T_branch_idx)) {* and additional logic. *isbflagset* results in *true* (for same INVITE). 3. Finally one of UACs responds with 200 OK. Asterisk generates ACK packet that gets in route[NATMANAGE]. *isbflagset* results in *false*.
So my question is: shouldn't *isbflagset* be *true* for ACK too since it's the same branch or I interpreted these fenctions incorrectly?
Thanks a lot! _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users