[asterisk-users] Between a dumb client and a capable server...

Antony Stone
Wed, 18 Aug 2021 09:33:26 -0000

Hi.

I wonder if anyone has some helpful advice or suggestions for me?

I have a very basic SIP client application, which can make and receive phone
calls, and that's about it.  Regard it as a pretty dumb softphone.
Unfortunately I cannot change it for a smarter one.

This client is talking to a completely capable SIP server (PBX) which can do
all the standard PBX stuff like putting calls on hold, transferring them,
conferencing, etc.

The problem is that the simple SIP client cannot itself tell the server to do
any of these things - it can send an INVITE to place a call, and it can
REGISTER and then accept an INVITE to receive a call, but it doesn't know
how
to send any other commands to the server to "manage" calls once
they're in
progress.

I'm looking for something which I can place in the network path between the
client and the server, which can send these call control commands on to the
server, so that it can then put calls on hold, transfer them, etc.

I'm assuming this "thing" needs to sit in the network path, so
that it sees
the INVITEs and OKs and is then aware of the Call-IDs and sequence numbers,
etc, and can therefore present the correct call reference to the SIP server
when it wants to say "please put this one on hold".  I have full
access to the
SIP credentials used to authenticate the client to the server.

I had thought that Kamailio might be what I was looking for, but I've asked
on
their mailing list and people are telling me that it isn't, and that I need
something like Asterisk to do this.  I'm trying to get some specifics from
them
about *how* I would get Asterisk to do this (because I personally can't see
how Asterisk could sit between a SIP client and a SIP server, and generate
commands to manipulate the RTP stream and send them to the server, which is
what the Kamailio people are saying I should do), but I thought it was worth
asking here just in case what they're telling me is in fact quite easy when
you only know enough about Asterisk.

So, if someone here thinks this is possible using Asterisk, please could you
point me at some documentation showing what commands I would use or the basics
of how I should go about it?

If anyone thinks there is another, perhaps better, way of achieving this, then
I'm quite open to alternative solutions (as I say, I was initially thinking
that Kamailio might be the way forward), so anything that shows me *how* such
a thing might be achieved, with any tool at all, would be very welcome.

Just to summarise: I have a SIP client talking to a SIP server, and I need
something which can send commands to that server to put calls, which were
created by the existing client, on hold (that's the simplest scenario).  I
do
not want to build a SIP server / PBX myself which can itself perform call hold
& transfer etc (I know how to do that with Asterisk) - I need those
functions
to be performed by the existing server.

Any constructive ideas are most welcome :)


Thanks,


Antony.

--
Numerous psychological studies over the years have demonstrated that the
majority of people genuinely believe they are not like the majority of people.

                                                   Please reply to the list;
                                                         please *don't* CC
me.