EvalVid SCTP


EValVid SCTP framework is chosen for transferring MPEG-4 Video Files over SCTP in NS-2.EvalVid SCTP is based on some modifications proposed by Delaware university’s SCTP module for ns-2. We have delivered more than 25+ EvalVid SCTP Projects for Research Scholars.

 

Why do u need to Introduce EvalVid SCTP Framework:

  1. EvalVid SCTP plays a key role in end to end delay and packet loss in depolying real time applications over 3G and GPRS Network.
  2. To Investigate quality and behavior of video transmission under heavy work load.
  3. EvalVid SCTP helps to maintain better Traffic Patterns.

 

Architecture of Evalvid SCTP:

Architecture-for-EvalVid-SCTP

 

Tools Used in EvalVid SCTP Projects

  • fixyuv.exe.
  • Mpeg4encoder.exe.
  • pnsr.exe.
  • Mp4.exe.
  • et.exe.
  • Enhanced SCTP Agent.
  • SCTPTrafficTace.
  • mos.exe.

 

Download Sample Source Code for EvalVid SCTP

 

int main(int argc, char **argv)
{
int cfd,i,flags;
struct sockaddr_in saddr;
struct sctp_sndrcvinfo sndrcvinfo;
struct sctp_event_subscribe events;
struct sctp_initmsg initmsg;
char buffer[MAX_BUFFER+1];
if(argc!=2) {
printf("Usage: %s ipaddress\n", argv[0]);
return -1;
}
cfd = socket(AF_INET,SOCK_STREAM,IPPROTO_SCTP);
memset(&initmsg,0,sizeof(initmsg));
initmsg.sinit_num_ostreams = 3;
initmsg.sinit_max_instreams = 3;
initmsg.sinit_max_attempts = 2;
setsockopt(cfd,IPPROTO_SCTP,SCTP_INITMSG,&initmsg,sizeof(initmsg));
bzero((void *)&saddr,sizeof(saddr));
saddr.sin_family = AF_INET;
inet_pton(AF_INET,argv[1],&saddr.sin_addr);
saddr.sin_port = htons(29008);
connect(cfd,(struct sockaddr *)&saddr,sizeof(saddr));
memset((void *)&events,0,sizeof(events));
events.sctp_data_io_event = 1;
setsockopt(cfd,SOL_SCTP,SCTP_EVENTS,const void *)&events,  									sizeof(events));
for (i=0; i<3; i++) {
bzero((void *)&buffer,sizeof(buffer));
sctp_recvmsg(cfd,(void *)buffer,sizeof(buffer),
			(struct sockaddr *)NULL, 0, &sndrcvinfo, &flags );
printf("Received following data on stream %d\n\n%s\n", 										sndrcvinfo.sinfo_stream, buffer);
}
close(cfd);
return 0;
}