From: Steven S. <ss...@so...> - 2004-01-13 20:06:07
|
I made a small change to the code in iax_header_to_event, essentially telling the function to accept NEW and HANGUP commands out of sequence. It worked -- sort of. It ALWAYS detects and raises the RING event. Unfortunately, it seems to bollix up the audio stream after a while. The first few calls go through just fine. By the 3rd or 4th call, however, audio never connects and we get a stream of VNAK messages. Here's my trace: 16480234 Log Message-> I. Sequence: 0, O. Sequence: 0, Type: 6, Subclass: 1 16480265 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16480281 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16482515 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16482562 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 2, Subclass: 2 16482640 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 4 16485656 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 4 16501390 Log Message-> I. Sequence: 0, O. Sequence: 0, Type: 6, Subclass: 1 16501406 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16501421 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16503609 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16503656 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 2, Subclass: 2 16503687 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 4 16508328 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 4 16520843 Log Message-> I. Sequence: 0, O. Sequence: 0, Type: 6, Subclass: 1 16520875 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16520890 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16522640 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 4 16522703 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 2, Subclass: 2 16522734 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 4 16527359 Log Message-> I. Sequence: 2, O. Sequence: 2, Type: 6, Subclass: 5 16532921 Log Message-> I. Sequence: 0, O. Sequence: 0, Type: 6, Subclass: 14 16532937 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 15 16532953 Log Message-> I. Sequence: 0, O. Sequence: 0, Type: 6, Subclass: 14 16533078 Log Message-> I. Sequence: 1, O. Sequence: 1, Type: 6, Subclass: 15 16533078 Log Message-> I. Sequence: 2, O. Sequence: 1, Type: 6, Subclass: 4 16556625 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 1 16556640 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16556640 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16556687 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16556703 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16556953 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16556953 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16557906 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16557921 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16558625 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 1 16559906 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16559968 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16560000 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 16560015 Log Message-> I. Sequence: 2, O. Sequence: 0, Type: 6, Subclass: 18 ... (4 pages of this)... FYI: Subclass Key 1 = IAX_COMMAND_NEW 2 = IAX_COMMAND_PING 4 = IAX_COMMAND_ACK 5 = IAX_COMMAND_HANGUP 14 = IAX_COMMAND_REGAUTH 15 = IAX_COMMAND_REGACK 18 = IAX_COMMAND_VNAK /* If we receive voice before valid first voice frame, send this */ |