Re: How to reply 484 to uac, and send bye to uas

James Browne via sr-users <[email protected]>
Newsgroups gmane.comp.voip.ser
Message-ID <CAEpCD+oGHqenCZDz7bAf8RYxkQpiZ9n1vcKA+VeTfKvZqJv4wQ@mail.gmail.com>
Actually, I think that kamailio probably *can* do it, but it's going to be
complicated.

You're missing the ACK request.
The ACK from the uac will have the ruri that the INVITE had (because it's a
negative ACK), but the uas still expects a positive ACK, so kamailio will
have to generate it, including making sure that the RURI matches what was
in the Contact of the SIP-200 response.

Another challenge is that the BYE will have to get both the RURI and the
cseq number correct, so kamailio will have to have some sort of state
similar to dialog state.

The bigger challenge here is that you're looking for kamailio to do
something quite abnormal (fake-convert an answered call into a rejected
call).
Getting this to work (reliably) requires good knowledge of SIP and
kamailio. It looks like you're wanting someone to build a solution to your
architecture problem rather than wanting help with getting kamailio to do
what it was designed to do (proxy SIP); so it might be hard to get help
here.

Maybe consider whether this unusual/ridiculous scenario is really what you
want/need.

James



On Tue 17 Jun 2025, 15:21 Alex Balashov via sr-users, <
[email protected]> wrote:

> Hi Han,
>
> I do not think Kamailio can do what you want it to do.
>
> Cheers,
>
> -- Alex
>
> > On Jun 17, 2025, at 9:32 AM, 13715209697--- via sr-users <
> [email protected]> wrote:
> >
> > Hi team:
> >
> > uac              kamailio       uas
> >           -->  invite
> >                              --> invite
> >                            <-- 200 ok
> >           <-- 484
> >                     bye --->
> >
> >
> > Here is my reply_route:
> >
> > onreply_route[MANAGE_REPLY] {
> > xdbg("incoming reply\n");
> > if(status=~"[12][0-9][0-9]") {
> > route(NATMANAGE);
> > }
> > if ($rs == 200) {
> > t_reply("484", "Address Incomplete");
> > if (!t_cancel_callid("$ci", "$cs", "0", "200")) {
> > xerr("t_cancel_callid failed\n");
> > }
> > return;
> > }
> > return;
> > }
> >
> > but not woking.
> >
> > Thanks!
> >
> > Han
> > 2025-06-17
> > __________________________________________________________
> > Kamailio - Users Mailing List - Non Commercial Discussions --
> [email protected]
> > To unsubscribe send an email to [email protected]
> > Important: keep the mailing list in the recipients, do not reply only to
> the sender!
>
> --
> Alex Balashov
> Principal Consultant
> Evariste Systems LLC
> Web: https://evaristesys.com, https://www.csrpswitch.com
> Tel: +1-706-510-6800
>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions --
> [email protected]
> To unsubscribe send an email to [email protected]
> Important: keep the mailing list in the recipients, do not reply only to
> the sender!
>

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the sender!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.