Hi Uttam,
I did the changes as per your request (*tried both the cases by declaring
rtphdr as global/static even finally tried declaring globally static struct
rtp_hdr *rtphdr*), but still I am facing the same problem.
Any more suggestions would be greatly appreciated.

Regards

On Mon, Mar 28, 2011 at 2:02 PM, Uttam Sarkar (usarkar)
<[email protected]>wrote:

> Please see inline.
>
>
>
> *From:* Siga [mailto:[email protected]]
> *Sent:* Monday, March 28, 2011 8:00 AM
> *To:* Uttam Sarkar (usarkar)
> *Cc:* [email protected]
> *Subject:* Re: [Sip-implementors] RTP Send thread problem
>
>
>
> Hi Uttam,
> about the variable for the sequence number I using the one which I have
> declared in my RTP.h header file
>
> initializations in my rtp.h is like this
>
> *struct rtp_hdr{
>     uint16_t   version:2;
>     uint16_t   padding:1;
>     uint16_t   extension:1;
>     uint16_t   csrccount:4;
>     uint16_t   marker:1;
>     uint16_t   payloadtype:7;
>     uint16_t   sequencenumber;
>     uint32_t   timestamp;
>     uint32_t   ssrc;
>     };*
>
> and I am including it in my main source file before assigning the value for
> seq_num and time_stamp.
>
>
> My initializations are as shown below:
>
> *#define RTP_TIMESTAMP_INCR    160*
> *#define* *RTP_PACKET_SIZE*            *172*
> *static u8_t rtp_send_packet[RTP_PACKET_SIZE];  //*this is globally
> declared*
> *
> *static void rtp_send_packets(int send_socket, struct sock_addr_ in*
> remote_addr )
> {
> *
>   *rtp_hdr* rtphdr;*
>
> *[US] Make this rtphdr as static or global variable.*
>
> *
>
>
>    /**other initializations**/
>
>    if(sendto(rtp_send_sock, rtp_send_packet, sizeof(rtp_hdr) +
> rtp_payload_size, 0, (struct sockaddr*)to, sizeof(to)) >= 0){
>         rtphdr->timestamp = rtphdr->timestamp + RTP_TIMESTAMP_INCR;
>         rtphdr->sequencenumber = rtphdr->sequencenumber++;
>         }*
>  *
> }*
>
> is there any mistake with this type of initializations.
>
> Regards
>
> On Mon, Mar 28, 2011 at 1:38 PM, Uttam Sarkar (usarkar) <[email protected]>
> wrote:
>
> Make sure you use static or global variable for sequence number in
> rtp_send_packets.
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Siga
> Sent: Monday, March 28, 2011 6:53 AM
> To: [email protected]
> Subject: [Sip-implementors] RTP Send thread problem
>
> Hi,
> I am encountering a strange scenario with my RTP Send thread. After
> setting
> up a connection with another client from my SIP Client I start sending
> and
> receiving RTP packets. I have no problem in receiving the packets, but
> the
> problem is with the RTP Send thread such that after a sleep of 20ms
> which I
> am making the RTP Send thread to sleep, after this 20ms sleep the send
> thread starts again, but again the sequence number and time stamp are
> reset
> and start again from the beginning.
>
> I can see on netmon that my RTP Send thread is sending some packets
> starting
> with sequence number = 1 and time stamp = 160 and after the thread
> starts
> from sleep, it again starts sending the RTP packets starting with
> sequence
> number = 1 and time stamp = 160.
>
> Here is the netmon capture:
>
> 396        7.4784891        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 397        7.4825127        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 398        7.4859608        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55420, TimeStamp = 1294160    {UDP:1, IPv4:18}
> 399        7.4865240        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 400        7.5061632        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55421, TimeStamp = 1294320    {UDP:1, IPv4:18}
> 401        7.5184904        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 4,
> TimeStamp = 640    {UDP:1, IPv4:18}
> 402        7.5259976        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55422, TimeStamp = 1294480    {UDP:1, IPv4:18}
> 403        7.5270654        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 404        7.5321877        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 405        7.5362360        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 406        7.5459893        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55423, TimeStamp = 1294640    {UDP:1, IPv4:18}
> 407        7.5660443        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55424, TimeStamp = 1294800    {UDP:1, IPv4:18}
> 408        7.5727087        192.168.1.80    192.168.1.1    UDP
> UDP:SrcPort = 22334, DstPort = 12964, Length = 180    {UDP:1, IPv4:18}
> 409        7.5789801        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 410        7.5830083        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 411        7.5860037        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55425, TimeStamp = 1294960    {UDP:1, IPv4:18}
> 412        7.6060190        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55426, TimeStamp = 1295120    {UDP:1, IPv4:18}
> 413        7.6162093        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 414        7.6254210        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 415        7.6258741        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55427, TimeStamp = 1295280    {UDP:1, IPv4:18}
> 416        7.6304875        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 417        7.6345130        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 418        7.6460465        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55428, TimeStamp = 1295440    {UDP:1, IPv4:18}
> 419        7.6660144        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55429, TimeStamp = 1295600    {UDP:1, IPv4:18}
> 420        7.6664040        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 4,
> TimeStamp = 640    {UDP:1, IPv4:18}
> 421        7.6760927        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 422        7.6801471        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 423        7.6841980        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 424        7.6858368        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55430, TimeStamp = 1295760    {UDP:1, IPv4:18}
> 425        7.7060118        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55431, TimeStamp = 1295920    {UDP:1, IPv4:18}
> 426        7.7209980        192.168.1.80    192.168.1.1    UDP
> UDP:SrcPort = 22334, DstPort = 12964, Length = 180    {UDP:1, IPv4:18}
> 427        7.7259359        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55432, TimeStamp = 1296080    {UDP:1, IPv4:18}
> 428        7.7288774        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 429        7.7335620        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 430        7.7460382        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55433, TimeStamp = 1296240    {UDP:1, IPv4:18}
> 431        7.7660654        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55434, TimeStamp = 1296400    {UDP:1, IPv4:18}
> 432        7.7688175        192.168.1.80    192.168.1.1    UDP
> UDP:SrcPort = 22334, DstPort = 12964, Length = 180    {UDP:1, IPv4:18}
> 433        7.7755308        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 434        7.7795409        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 435        7.7859224        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55435, TimeStamp = 1296560    {UDP:1, IPv4:18}
> 436        7.8060232        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55436, TimeStamp = 1296720    {UDP:1, IPv4:18}
> 437        7.8128543        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 438        7.8225130        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 439        7.8258402        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55437, TimeStamp = 1296880    {UDP:1, IPv4:18}
> 440        7.8265628        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 441        7.8316670        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 442        7.8462520        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55438, TimeStamp = 1297040    {UDP:1, IPv4:18}
> 443        7.8661544        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55439, TimeStamp = 1297200    {UDP:1, IPv4:18}
> 444        7.8670660        192.168.1.80    192.168.1.1    UDP
> UDP:SrcPort = 22334, DstPort = 12964, Length = 180    {UDP:1, IPv4:18}
> 445        7.8738410        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 446        7.8786926        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 447        7.8859087        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55440, TimeStamp = 1297360    {UDP:1, IPv4:18}
> 448        7.9059979        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55441, TimeStamp = 1297520    {UDP:1, IPv4:18}
> 449        7.9111579        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 450        7.9207415        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 1,
> TimeStamp = 160    {UDP:1, IPv4:18}
> 451        7.9256898        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 2,
> TimeStamp = 320    {UDP:1, IPv4:18}
> 452        7.9263754        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55442, TimeStamp = 1297680    {UDP:1, IPv4:18}
> 453        7.9307948        192.168.1.80    192.168.1.1    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 329899372, Seq
> = 3,
> TimeStamp = 480    {UDP:1, IPv4:18}
> 454        7.9461513        192.168.1.1    192.168.1.80    RTP
> RTP:PayloadType = PCMA Audio, 8000Hz [1 Channel], SSRC = 1419577456, Seq
> =
> 55443, TimeStamp = 1297840    {UDP:1, IPv4:18}
> 455        7.9654232        192.168.1.80    192.168.1.1    UDP
> UDP:SrcPort = 22334, DstPort = 12964, Length = 180    {UDP:1, IPv4:18}
>
>
> Skeleton of my pseudo code looks something like this:
>
> *static void rtp_send_packets(send_socket, &remote_addr )
> {
> *  /*here I assign the values for the RTP packet like version number,
> payload type etc*/
>
>  /*finally send the rtp packets to the server using sento */
>  *
> }
>
> static void rtp_send_thread(void *arg)
> {
>   * /*here I do all the initializations and binding stuff for sending
> RTP
> Thread**/
>
>  while(1){
>    rtp_send_packets(send_socket, &remote_addr );
>    sleep_ms(20);
>   }
>
> }
>
> void rtp_init(void)
> {
>    pthread_t rtp_send_th;
>    pthread_t rtp_recv_th;
>
>    pthread_create(&rtp_send_th, NULL, rtp_send_thread, NULL);
>    pthread_create(&rtp_recv_th, NULL, rtp_recv_thread, NULL);
>    }*
>
> Does anybody have an idea why this is happening?
>
> Regards
>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
>
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to