Timo,
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).[snip]
>
> 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.
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.
> My Question - what am I doing wrong - or what is the best method to tackle this task?
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