Timo,
Thank you for the input - I actually just figured out a resolution.
Apparently dlg_bye("all") must be called after dlg_get - so what I'm doing
now is simply checking for request with a special request uri with the
callid / from tag / to tag in the request that correlates to the call I
desire to terminate. I am then feeding $ci, $tt, and $ft into dlg_get and
then calling dlg_bye("all") - in which Kamailio then proceeds to send BYE
out to both legs of the call.
I think we can mark this as resolved :).
Thanks as always!
Sincerely,
Brandon Armstead
On Tue, Nov 1, 2011 at 3:21 PM, Timo Reimann <sr(a)foo-lounge.de> wrote:
Hey Brandon,
Am 01.11.2011 um 22:48 schrieb Brandon Armstead:
I am attempting to tear down a call with a
BYE packet generated
externally (kind of similar to Kamailio fifo dlg_end_dlg).
Let me describe what I am trying to do in more depth and then I will
continue to
tell you the problem I think I am experiencing.
[PSTN SIP Proxy] -> [CORE SIP Proxy] -> [REGISTRAR] -> [UAC]
So the above layout is the normal call flow / structure of calls
(incoming when
originating from pstn) (outgoing when originating from uac).
I then have an "external" host - I am attempting to generate a BYE to
[CORE SIP Proxy] and have it go both directions [PSTN] + [UAC].
So far I am able to get the call to tear down in only a single direction
(only
kill call with PSTN) or (only kill call with UAC).
I have not been able to kill both legs of the call.
[snip]
My Question - what am I doing wrong - or what is
the best method to
tackle this task?
If I get you right you are trying to emulate Kamailio's dlg_end_dlg
functionality without involving Kamailio at all (except for passing forward
the BYE requests). This makes your question sort of off-topic as processing
BYE requests is a matter of RFC 3261 alone.
Apart from that, what you could do is take a look at the dialog module
code and check how it implements dlg_end_dlg. An idea I have what you could
possibly be doing wrong is not using the CSeq numbers that each party
expects. I don't have the details at hand but if either CSeq number is off
your UAs won't accept the BYE request.
Cheers,
--Timo