ISDN4BSD - Dropped Calls
Oliver von Bueren
maillist at ovb.ch
Sat Jan 6 13:20:51 PST 2007
Hello Hans Petter
Thanks for pointing me to the reason for the STATUS_ENQUIRY messages
with an invalid call reference. I've checked the behaviour after
changing the code in dss1_l2_get_mbuf to not append any data but send
the packet on without the STATUS_ENQUIRY attached. This did not change
the overall result, except of course that the releasing of the "fake"
call does not happen any more. Kind of a prove that this method used
here does not confuse the PBX.
As you wrote, a STATUS_ENQUIRY (I'm now talking about the one for the
real call) needs to be answered by the PBX, which according to the
trace, it does not. No idea why this is, I'll try to get a trace form
the PBX.
The strange thing is, that a lot of other applications connected to that
PBX/port run without problem, even a FreeBSD 4.3 with the then-current
i4b and some voice response system. Amongst the other working things are
hardware phones/modems and even an active Card (Eicon Diva Pro 2.0)
running under windows with the sort-of cygwin-port of Asterisk (from
http://www.asteriskwin32.com/) runs without any problems. But as you can
guess, I'd like to get away from that stone-age Asterisk version and
change to my FreeBSD server.
If I find anything, I'll keep you posted.
If you've any ideas on how to fix my problem, drop me a note.
Thanks!
Oliver
Hans Petter wrote:
> > - F97/F98 is quite strange, here TE makes two
> >STATUS_ENQUIRY for call 0x7F.
>
> These are dummy messages, which are part of the procedure to bring up
> the layer 2 "TCP" connection. The idea was to send a zero length
> I-frame, but many PBX's simply lack a check for zero length I-frames
> and will continue to process the frame as if data was present leading
> to crashes in most cases. To avoid this, I send four extra bytes,
> which makes up the STATUS_ENQUIRY message.
>
[...]
> > - F116: TE makes a STAT_ENQ for Call 0x35
> >
> > - F118: TE sends a REL_COMPLETE for Call 0x35 => ??
>
> I4B will hangup the call if the NT-side does not respond to
> STATUS_ENQUIRY, after 8 to 16 seconds. This is just a safety
> mechanism. The DSS1 specification says that implementing
> STATUS_ENQUIRY response is mandatory.
More information about the freebsd-isdn
mailing list