softphone <----> FreeBSD asterisk <-----> AstraTEL gateway <------> PSTN Phone
The call establishes fine and works well. However, after exactly 600 seconds of the call the softphone user is unable to hear anything from PSTN phone user. I have verified that the RTP packets continue to flow both ways on the wire and I have tracked down the even that occurs at 600 seconds which seems to be the problem.
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=384396275, Seq=18370, Time=1385593487
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9435, Time=4799696
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=384396275, Seq=18371, Time=1385593727
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9436, Time=4799936
astratelctl asterisksrv SIP/SDP Request: INVITE sip:[EMAIL PROTECTED]:5060, with session description
asterisksrv astratelctl SIP/SDP Status: 200 OK, with session description
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9437, Time=4800176
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=1762950467, Seq=43847, Time=265690106
astratel asterisksrv RTCP Sender Report
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9438, Time=4800416
astratelctl asterisksrv SIP Request: ACK sip:[EMAIL PROTECTED]
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=1762950467, Seq=43848, Time=265690346
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9439, Time=4800656
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=1762950467, Seq=43849, Time=265690586
asterisksrv astratel RTP Payload type=ITU-T G.723, SSRC=515671647, Seq=9440, Time=4800896
astratel asterisksrv RTP Payload type=ITU-T G.723, SSRC=1762950467, Seq=43850, Time=265690826
asterisksrv = My FreeBSD box running asterisk astratelctl = astratel sip server astratel = IP that the RTP data comes from at astratel
A couple of weird things:
1. Even though the call was established from astrisksrv -> astractl the invite comes the other way. Is this normal?
2. After the INVITE is sent, the astratel server suddenly changes SSRC, Sequence number and Time offset. I believe this is what is stopping the audio stream.
3. The ACK that is sent has a "Content-Type: application/SDP" header. This confuses asterisk and gives this warning:
WARNING[34979]: chan_sip.c:2645 process_sdp: Insufficient information for SDP (m = '', c = '')
I have fixed this error by adding a line to chan_sip.c to also verify the Content-Length is not "0".
chan_sip.c, line 7730:
if (!ast_strlen_zero(get_header(req, "Content-Type"))
&& strcasecmp(get_header(req, "Content-Length"), "0")) { <- added
if (process_sdp(p, req))
return -1;
}My questions are as follows:
1. Is it normal to receive a (re)INVITE from the host that you originally called?
2. Where in the code does asterisk check/process SSRC and/or sequence numbers if at all?
3. Do the codec's use the Time field in the packet to reassemble the stream? Is this why the audio stops? Is this normal for a SIP stream?
Below is the "sip debug"
Sip read: INVITE sip:[EMAIL PROTECTED]:5060 SIP/2.0 From: <sip:[EMAIL PROTECTED]>;tag=901f40a-13c4-4257498c-19278f18-197f To: "iaxComm User"<sip:[EMAIL PROTECTED]>;tag=as40722ded Call-ID: [EMAIL PROTECTED] CSeq: 103 INVITE Via: SIP/2.0/UDP astratelctl:5060;branch=z9hG4bK-68d22-19974e76-3c66ebf Via: SIP/2.0/UDP asterisksrv:5060;branch=z9hG4bK148a3978 Contact: <sip:[EMAIL PROTECTED]> User-Agent: Asterisk PBX Date: Sat, 09 Apr 2005 00:23:19 GMT Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER Content-Type: application/SDP Content-Length: 142
v=0 o=GW5250-V5 36 0 IN IP4 xxx.xxx.127.13 s=SipCall c=IN IP4 xxx.xxx.127.13 t=0 0 m=audio 4360 RTP/AVP 18 101 a=rtpmap:18 G729/8000/1
13 headers, 7 lines Using latest request as basis request Sending to astratelctl : 5060 (non-NAT) We're at asterisksrv port 18620 Answering with capability 0x100 (g729) Answering with non-codec capability 0x1 (telephone-event) Reliably Transmitting (no NAT): SIP/2.0 200 OK Via: SIP/2.0/UDP astratelctl:5060;branch=z9hG4bK-68d22-19974e76-3c66ebf Via: SIP/2.0/UDP asterisksrv:5060;branch=z9hG4bK148a3978 From: <sip:[EMAIL PROTECTED]>;tag=901f40a-13c4-4257498c-19278f18-197f To: "iaxComm User"<sip:[EMAIL PROTECTED]>;tag=as40722ded Call-ID: [EMAIL PROTECTED] CSeq: 103 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[EMAIL PROTECTED]> Content-Type: application/sdp Content-Length: 220
v=0 o=root 34979 34980 IN IP4 xxx.yyy.75.91 s=session c=IN IP4 xxx.yyy.75.91 t=0 0 m=audio 18620 RTP/AVP 18 101 a=rtpmap:18 G729/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=silenceSupp:off - - - -
to zzz.aa.148.162:5060 Sip read:
ACK sip:[EMAIL PROTECTED] SIP/2.0 From: <sip:[EMAIL PROTECTED]>;tag=901f40a-13c4-4257498c-19278f18-197f To: "iaxComm User"<sip:[EMAIL PROTECTED]>;tag=as40722ded Call-ID: [EMAIL PROTECTED] CSeq: 103 ACK Via: SIP/2.0/UDP astratelctl:5060;branch=z9hG4bK-68d22-19974e76-3c66ebf Via: SIP/2.0/UDP asterisksrv:5060;branch=z9hG4bK148a3978 User-Agent: Asterisk PBX Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER Contact: <sip:[EMAIL PROTECTED]> Content-Type: application/SDP Content-Length: 0
I have ethereal traces as well.
If someone could please help that would be great.
Tony
_______________________________________________ Asterisk-Users mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
