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