



| 22 | ssh | ||
| 6000 | x11 | ||
| 9767 | Babel | ||
| version | protocol version | 2 | ||
| p | padding flag | 0 | ||
| x | 0 | |||
| cc | CSRC count | 0 | ||
| m | 0 | |||
| payload type | 0 | |||
| 0 × 80 | ||||
| ON A | ON B | ||
| Baddress=′1.1.1.3′; | Aaddress=′1.1.1.2′; | ||
| packet=′some packet content′; | receive(Aaddress,packet); | ||
| time0=gettimeofday( ); | send(Aaddress,packet); | ||
| send(Baddress,packet); | |||
| receive(Baddress,reply); | |||
| time1=gettimeofday( ); | |||
| APPENDIX 1 |
| // |
| // INSERT THE FOLLOWING IN THE IOCTL HANDLER |
| // |
| // look for SIOCDEVPRIVATE |
| // case SIOCDEVPRIVATE+SIOCDEVPRIVATEOFFSET: |
| // return babel_ioctl(rq); |
| // |
| // INSERT THE FOLLOWING IN THE SEND PACKET HANDLER |
| // |
| // look for trans_start |
| // babel_kts(skb); |
| // |
| #include <linux/module.h> |
| #include <linux/skbuff.h> |
| #include <linux/if.h> |
| #include <linux/if_ether.h> |
| #include <linux/in.h> |
| #include <linux/ip.h> |
| #include <linux/udp.h> |
| #include <linux/tcp.h> |
| #include <asm/uaccess.h> |
| #include “babel.h” |
| #define BABELDEBUG 0 |
| static int babel_debug = BABELDEBUG; |
| #define BABEL_TS_ANCIENT 5000000 |
| static int ts_ancient = BABEL_TS_ANCIENT; |
| #define MAX_BABEL_TS_NUM 32 |
| static int max_ts_num = MAX_BABEL_TS_NUM; |
| #define BABEL_VERSION_MAJOR 0 |
| #define BABEL_VERSION_MINOR 9 |
| typedef struct { |
| int status; |
| unsigned int saddr; |
| unsigned int daddr; |
| unsigned int sport; |
| unsigned int dport; |
| unsigned int i; |
| struct timeval ts; |
| } ts_list_t; |
| static ts_list_t *ts_list; |
| static spinlock_t babel_lock; |
| int init_module(void) |
| { |
| ts_list=(ts_list_t *)kmalloc(max_ts_num*sizeof(ts_list_t),GFP_KERNEL); |
| memset(ts_list, 0, max_ts_num*sizeof(ts_list_t)); |
| spin_lock_init(babel_lock); |
| printk(“Babel version %d.%d (c) Avaya Inc\n”,BABEL_VERSION_MAJOR,BABEL_VERSION_MINOR); |
| return 0; |
| } |
| #ifdef MODULE |
| MODULE_DESCRIPTION(“Babel support”); |
| MODULE_PARM(babel_debug,“i”); |
| MODULE_PARM_DESC (babel_debug, “The debugging level (default 0)”); |
| MODULE_PARM(ts_ancient,“i”); |
| MODULE_PARM_DESC (ts_ancient, “What is considered ancient in microseconds (as in stale) |
| (default 5000000)”); |
| MODULE_PARM(max_ts_num,“i”); |
| MODULE_PARM_DESC (max_ts_num, “The maximum number of slots--concurrent calls (default |
| 32)”); |
| EXPORT_SYMBOL(babel_kts); |
| EXPORT_SYMBOL(babel_ioctl); |
| void cleanup_module(void) |
| { |
| kfree(ts_list); |
| } |
| #else |
| #include <linux/init.h> |
| #include <linux/config.h> |
| #include <linux/module.h> |
| #include <linux/sched.h> |
| #include <linux/slab.h> |
| #include <linux/errno.h> |
| #include <linux/kernel.h> |
| #include <linux/fs.h> |
| #include <linux/string.h> |
| #include <linux/init.h> |
| #include <linux/config.h> |
| #include <asm/system.h> |
| #include <asm/io.h> |
| #include <asm/delay.h> |
| static int_init |
| babel_init(void) |
| { |
| init_module( ); |
| return 0; |
| } |
| module_init(babel_init); |
| #endif |
| #define offset(x,y) ((int)(&(((struct x*)0)->y))) |
| #define MUTSDIFF(t1,t0) (((t1)->tv_sec-(t0)->tv_sec)*1000000+((t1)->tv_usec-(t0)->tv_usec)) |
| #define IS_ANCIENT(t1,t0) (MUTSDIFF(t1,t0)>ts_ancient) |
| #define BABEL_TS_FREE 0 |
| #define BABEL_TS_ROK 1 |
| #define BABEL_TS_WOK 2 |
| static char * hod(int len, char *data) { |
| static char odstr[2*4096+1]; |
| int i; |
| memset(odstr,0,2*4096+1); |
| for(i=0;i<4096 && i<len;i++) { |
| sprintf(odstr+2*i,“%02x”,data[i]); |
| } |
| return odstr; |
| } |
| void babel_kts(struct sk_buff*skb) { |
| // |
| // The following remembers the time at which udp packets are |
| // sent together with the destination ip, port, the local port usea and the first |
| // eight bytes of the payload. The time stamps are stored in the array ts_list |
| // and can be retrieved later with the SIOCDEVPRIVATE ioctl system call. The |
| // slots in ts_list are identified by the sp:dip:dp combination and a given |
| // slot is re-used for all packets matching sp:dip:dp. If your application |
| // wants the timestamps, you better get it BEFORE the driver ships a new |
| // packet because at that point, the timestamp will be overwritten. As noted |
| // above the ts_list holds the sp:dip:dp which identifies the udp stream |
| // and the first eight bytes of the payload which identifies the packet |
| // within the stream. The application could therefore use a sequence of |
| // integers (eight bytes) to identify its packets. This identifier is an |
| // argument to the SIOCDEVPRIVATE ioctl. That way, we are assured that |
| // the timestamps does match the udp stream and the packet identifier. |
| // |
| // If the ioctl is issued before the packet is sent (and therefore before |
| // the timestamps is known) it returns -EAGAIN. The code below toggles the |
| // status component of the ts_list structure between BABEL_TS_WOK and BABEL_TS_ROK |
| // to keep track of whether or not a timestamp is being lost (rewritten |
| // before the application had a chance to issue a SIOCDEVPRIVATE ioctl). |
| // An application could delay the sending of packets until it is able to |
| // retrieve the previous timestamp. |
| // |
| // There are MAX_BABEL_TS_NUM (32 right now) elements in the |
| // ts_list array. That means that the driver can keep track of 32 distinct |
| // udp streams. That number should not be arbitrarily increased. With every |
| // packet sent, the code below scans the ts_list for a matching sp:dip:dp |
| // combination to figure out where the timestamps is to be stored. That |
| // takes time 32 |
| // When an array element has aged enough (BABEL_TS_ANCIENT usec = 10 s) it is |
| // marked as BABEL_TS_FREE and can be reused for a different sp:dip:dp |
| // combination. |
| if(skb->nh.iph->protocol==IPPROTO_UDP) { |
| // 26 saddr |
| // 30 daddr |
| // 34 sport |
| // 36 dport |
| // 51 data |
| int i; |
| static int showoffsets=1; |
| struct iphdr *iph=(struct iphdr *)(skb->data+sizeof(struct ethhdr)); |
| struct udphdr *udph=(struct udphdr *)(skb->data+sizeof(struct ethhdr)+sizeof(struct iphdr)); |
| unsigned char *data=(unsigned char *)(skb->data+sizeof(struct ethhdr)+sizeof(struct |
| iphdr)+sizeof(struct tcphdr)); |
| // unsigned char *data=(unsigned char *)(skb->data+54); |
| _u32 saddr=iph->saddr; |
| _u32 daddr=iph->daddr; |
| _u16 sport=ntohs(udph->source); |
| _u16 dport=ntohs(udph->dest); |
| unsigned int ipack=(*(unsigned int *)data); |
| if(babel_debug>5 && showoffsets) { |
| printk(KERN_WARNING “offset of data in sk_buff is %d\n”,offset(sk_buff,data)); |
| printk(KERN_WARNING “size of ethhdr is %d\n”,sizeof(struct ethhdr)); |
| printk(KERN_WARNING “size of iphdr is %d\n”,sizeof(struct iphdr)); |
| printk(KERN_WARNING “size of udphdr is %d\n”,sizeof(struct udphdr)); |
| printk(KERN_WARNING “size of tcphdr is %d\n”,sizeof(struct tcphdr)); |
| printk(KERN_WARNING “offset of protocol in iphdr is %d\n”,offset(iphdr,protocol)); |
| printk(KERN_WARNING “offset of saddr in iphdr is %d\n”,offset(iphdr,saddr)); |
| printk(KERN_WARNING “offset of daddr in iphdr is %d\n”,offset(iphdr,daddr)); |
| printk(KERN_WARNING “offset of source in udphdr is %d\n”,offset(udphdr,source)); |
| printk(KERN_WARNING “offset of dest in udphdr is %d\n”,offset(udphdr,dest)); |
| showoffsets=0; |
| } |
| if(babel_debug>5) { |
| printk(KERN_WARNING “sending packet with protocol %d\n”,skb->nh.iph->protocol); |
| printk(KERN_WARNING “packet saddr is -%x-\n”,(unsigned int)saddr); |
| printk(KERN_WARNING “packet daddr is -%x-\n”,(unsigned int)daddr); |
| printk(KERN_WARNING “packet sport is -%x-\n”,(unsigned int)sport); |
| printk(KERN_WARNING “packet dport is -%x-\n”,(unsigned int)dport); |
| printk(KERN_WARNING “packet ipack is -%x-\n”,ipack); |
| if(babel_debug>9) { |
| printk(KERN_WARNING “packet raw is -%s-\n”,hod(64,(char *)skb->data)); |
| printk(KERN_WARNING “packet data is -%s-\n”,hod(64,data)); |
| } |
| } |
| // |
| // look for the right slot--it may or may not exist |
| // |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].daddr==BABEL_TS_FREE) continue; |
| if(ts_list[i].daddr!=daddr) continue; |
| if(ts_list[i].sport!=sport) continue; |
| if(ts_list[i].dport!=dport) continue; |
| if(ts_list[i].status!=BABEL_TS_WOK) { |
| printk(KERN_WARNING “overwriting for %03d.%03d.%03d.%03d:%u- |
| %03d.%03d.%03d.%03d:%u packet %d\n”, |
| ((unsigned char *)&saddr)[0], |
| ((unsigned char *)&saddr)[1], |
| ((unsigned char *)&saddr)[2], |
| ((unsigned char *)&saddr)[3], |
| ntohs(sport), |
| ((unsigned char *)&daddr)[0], |
| ((unsigned char *)&daddr)[1], |
| ((unsigned char *)&daddr)[2], |
| ((unsigned char *)&daddr)[3], |
| ntohs(dport), |
| ipack |
| ); |
| } |
| if(babel_debug>5) printk(KERN_WARNING “writing for %03d.%03d.%03d.%03d:%u- |
| %03d.%03d.%03d.%03d:%u packet %d\n”, |
| ((unsigned char *)&saddr)[0], |
| ((unsigned char *)&saddr)[1], |
| ((unsigned char *)&saddr)[2], |
| ((unsigned char *)&saddr)[3], |
| ntohs(sport), |
| ((unsigned char *)&daddr)[0], |
| ((unsigned char *)&daddr)[1], |
| ((unsigned char *)&daddr)[2], |
| ((unsigned char *)&daddr)[3], |
| ntohs(dport), |
| ipack |
| ); |
| do_gettimeofday(&ts_list[i].ts); |
| ts_list[i].i=ipack; |
| ts_list[i].status=BABEL_TS_ROK; |
| break; |
| } |
| } |
| } |
| int babel_ioctl(struct ifreq *rq) { |
| babel_ioctl_arg_t ioctlarg; |
| struct timeval tv; |
| int rc; |
| int i; |
| static char buf[1024]; |
| unsigned long flags; |
| rc=copy_from_user(&ioctlarg, rq->ifr_data, sizeof(ioctlarg)); |
| if(rc<0) { |
| printk(KERN_WARNING “cannot get ioctl data\n”); |
| return -EFAULT; |
| } |
| // |
| // get the time stamp |
| // |
| if(babel_debug>5) { |
| memset(buf,0,1024); |
| sprintf(buf,“seeking %03d.%03d.%03d.%03d:%u-%03d.%03d.%03d.%03d:%u packet %u”, |
| ((unsigned char *)&ioctlarg.saddr)[0], |
| ((unsigned char *)&ioctlarg.saddr)[1], |
| ((unsigned char *)&ioctlarg.saddr)[2], |
| ((unsigned char *)&ioctlarg.saddr)[3], |
| ioctlarg.sport, |
| ((unsigned char *)&ioctlarg.daddr)[0], |
| ((unsigned char *)&ioctlarg.daddr)[1], |
| ((unsigned char *)&ioctlarg.daddr)[2], |
| ((unsigned char *)&ioctlarg.daddr)[3], |
| ioctlarg.dport, |
| ioctlarg.i |
| ); |
| printk(KERN_WARNING “%s\n”,buf); |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| memset(buf,0,1024); |
| if(ts_list[i].status==BABEL_TS_FREE) continue; |
| sprintf(buf,“have %03d.%03d.%03d.%03d:%u-%03d.%03d.%03d.%03d:%u packet %u status %d”, |
| ((unsigned char *)&ioctlarg.saddr)[0], |
| ((unsigned char *)&ioctlarg.saddr)[1], |
| ((unsigned char *)&ioctlarg.saddr)[2], |
| ((unsigned char *)&ioctlarg.saddr)[3], |
| ts_list[i].sport, |
| ((unsigned char *)&ts_list[i].daddr)[0], |
| ((unsigned char *)&ts_list[i].daddr)[1], |
| ((unsigned char *)&ts_list[i].daddr)[2], |
| ((unsigned char *)&ts_list[i].daddr)[3], |
| ts_list[i].dport, |
| ts_list[i].i, |
| ts_list[i].status |
| ); |
| printk(KERN_WARNING “%s\n”,buf); |
| } |
| } |
| // |
| // cmd==BABEL_READ_TS is a request to pick up a time stamp |
| // |
| if(ioctlarg.cmd==BABEL_READ_TS) { |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].saddr!=ioctlarg.saddr) continue; |
| if(ts_list[i].daddr!=ioctlarg.daddr) continue; |
| if(ts_list[i].sport!=ioctlarg.sport) continue; |
| if(ts_list[i].dport!=ioctlarg.dport) continue; |
| if(ts_list[i].i!=ioctlarg.i) { |
| printk(KERN_WARNING “found index %d\n”,ts_list[i].i); |
| return -EAGAIN; |
| } |
| if(ts_list[i].status!=BABEL_TS_ROK) { |
| printk(KERN_WARNING “not ROK\n”); |
| return -EAGAIN; |
| } |
| ts_list[i].status=BABEL_TS_WOK; |
| ioctlarg.ts=ts_list[i].ts; |
| if(copy_to_user(rq->ifr_data, &ioctlarg, sizeof(ioctlarg))) return -EFAULT; |
| return 0; |
| } |
| return -EAGAIN; |
| } |
| // |
| // cmd==BABEL_ADD_TS is a request to allocate space for a time stamp |
| // |
| else if(ioctlarg.cmd==BABEL_ADD_TS) { |
| do_gettimeofday(&tv); |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].status!=BABEL_TS_FREE && IS_ANCIENT(&tv,&ts_list[i].ts)) { |
| if(babel_debug>5) printk(KERN_WARNING “recycling slot %d\n”,i); |
| ts_list[i].status=BABEL_TS_FREE; |
| } |
| } |
| // |
| // The following loop needs protection |
| // |
| spin_lock_irqsave(babel_lock, flags); |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].status==BABEL_TS_FREE) break; |
| } |
| spin_unlock_irqrestore(babel_lock, flags); |
| // |
| // there is no more space |
| // |
| if(i==MAX_BABEL_TS_NUM) { |
| printk(KERN_WARNING “no more space for stamps %03d.%03d.%03d.%03d::%u-%03d.%03d.%03d.%03d:%u\n”, |
| ((unsigned char *)&ioctlarg.saddr)[0], |
| ((unsigned char *)&ioctlarg.saddr)[1], |
| ((unsigned char *)&ioctlarg.saddr)[2], |
| ((unsigned char *)&ioctlarg.saddr)[3], |
| ioctlarg.sport, |
| ((unsigned char *)&ioctlarg.daddr)[0], |
| ((unsigned char *)&ioctlarg.daddr)[1], |
| ((unsigned char *)&ioctlarg.daddr)[2], |
| ((unsigned char *)&ioctlarg.daddr)[3], |
| ioctlarg.dport |
| ); |
| return -EAGAIN; |
| } |
| ts_list[i].saddr=ioctlarg.saddr; |
| ts_list[i].daddr=ioctlarg.daddr; |
| ts_list[i].sport=ioctlarg.sport; |
| ts_list[i].dport=ioctlarg.dport; |
| ts_list[i].status=BABEL_TS_WOK; |
| printk(KERN_WARNING “slot%d of%d is space for %03d.%03d.%03d.%03d:%u-%03d.%03d.%03d.%03d:%u\n”, |
| i,MAX_BABEL_TS_NUM, |
| ((unsigned char *)&ioctlarg.saddr)[0], |
| ((unsigned char *)&ioctlarg.saddr)[1], |
| ((unsigned char *)&ioctlarg.saddr)[2], |
| ((unsigned char *)&ioctlarg.saddr)[3], |
| ioctlarg.sport, |
| ((unsigned char *)&ioctlarg.daddr)[0], |
| ((unsigned char *)&ioctlarg.daddr)[1], |
| ((unsigned char *)&ioctlarg.daddr)[2], |
| ((unsigned char *)&ioctlarg.daddr)[3], |
| ioctlarg.dport |
| ); |
| return 0; |
| } |
| // |
| // cmd==BABEL_REMOVE_TS is a request to allocate space for a time stamp |
| // |
| else if(ioctlarg.cmd==BABEL_REMOVE_TS) { |
| do_gettimeofday(&tv); |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].status!=BABEL_TS_FREE && IS_ANCIENT(&tv,&ts_list[i].ts)) { |
| if(babel_debug>5) printk(KERN_WARNING “recycling slot %d\n”,i); |
| ts_list[i].status=BABEL_TS_FREE; |
| } |
| } |
| for(i=0;i<MAX_BABEL_TS_NUM;i++) { |
| if(ts_list[i].saddr!=ioctlarg.saddr) continue; |
| if(ts_list[i].daddr!=ioctlarg.daddr) continue; |
| if(ts_list[i].sport!=ioctlarg.sport) continue; |
| if(ts_list[i].dport!=ioctlarg.dport) continue; |
| ts_list[i].status=BABEL_TS_FREE; |
| return 0; |
| } |
| return -EAGAIN; |
| } |
| else { |
| return EOPNOTSUPP; |
| } |
| } |
| APPENDIX 2 |
| ====================================================== |
| = | = | |
| = | controller | = |
| = | = |
| ====================================================== |
| call length L (in seconds) is selected by engineer |
| packet inter-packet delay DELTA (in microsecond) is selected by engineer |
| packet size S (in bytes) is selected by engineer |
| determine the number of packets N in one call: N=(1000000/DELTA)*L |
| for endpoint pair in endpoint pairs selected by system |
| # | |
| # one call involves two endpoints, A and B | |
| # | |
| A=first endpoint in endpoint pair | |
| B=second endpoint in endpoint pair | |
| # | |
| # endpoint B is now configured for the call | |
| # | |
| 1) ask B to prepare to echo N packets | |
| 2) get the port number SP from B to be used for the call | |
| # | |
| # endpoint A is now configured for the call | |
| # | |
| 1) ask A to prepare to send a stream of N packets of size S | |
| to endpoint B on port SP with inter-packet delay DELTA | |
| 2) ask A to start the stream | |
| # | |
| # work is getting done so we sleep | |
| # | |
| sleep for L seconds | |
| # | |
| # the call should have completed by now so collect the data | |
| # | |
| ask A for the N packet timestamps | |
| ask B for the N packet timestamps | |
| # | |
| # process the timestamps into statistics | |
| # | |
| determine round trip delays for each of the N packets | |
| determine two (A to B and B to A) one-way delays for each of the | |
| N packets | |
| determine two (A to B and B to A) jitter values for each of the | |
| N packets | |
| determine two (A to B and B to A) loss values for each of the | |
| N packets | |
| # | |
| # reduce series to summary statistics | |
| # | |
| compute ave,sd,min,max of two (A to B and B to A) one-way delays | |
| compute ave,sd,min,max of two (A to B and B to A) jitter values | |
| compute ave,sd,min,max of two (A to B and B to A) loss values | |
| # | |
| # store the data in the database | |
| # | |
| store the summary statistics into the database | |
| store the packet timestamps data into the database | |
| # | |
| # clean up | |
| # | |
| ask A to release all resources related to the call | |
| ask B to release all resources related to the call |
| ====================================================== |
| = | = | |
| = | endpoint (echo) | = |
| = | = |
| ====================================================== |
| # |
| # wait for the controller request and pick a port number |
| # |
| wait for the controller request |
| get the number of packets N in the call |
| determine our ip address SA |
| pick a free port number SP |
| send the controller the port number SP to be used for the call |
| allocate an N × 4 array to hold timestamps data |
| forever |
| # | |
| # wait for one packet | |
| # | |
| wait for a packet to come on port SP | |
| # | |
| # get the packet data | |
| # | |
| determine the user land receive timestamp UR | |
| determine the kernel receive timestamp KR | |
| determine the source address DA of the packet | |
| determine the source port DP of the packet | |
| determine the index number I of the packet | |
| store UR, KR in memory array at index I | |
| # | |
| # request kernel timestamping services | |
| # | |
| if this is first packet |
| ask kernel to keep send timestamp for UDP traffic from SA,SP | |
| to DA,DP |
| # | |
| # get the kernel send timestamp for previous packet | |
| # this is done for the second packet onwards | |
| # | |
| if this is not first packet |
| obtain the kernel send timestamp KS for previous packet | |
| store KS in memory array at index I-1 |
| # | |
| # send the packet back | |
| # | |
| determine the user land send timestamp US | |
| store US in memory array at index I | |
| send the packet back to sender SA | |
| # | |
| # break out of loop | |
| # | |
| if I equals N, break out of forever loop |
| # |
| # get last kernel send timestamp |
| # |
| obtain the kernel send timestamp KS for previous packet |
| store KS in memory array at index N |
| # |
| # return the timestamp data when requested |
| # |
| wait for the controller to request the timestamp data |
| send the in memory array of size N × 4 of timestamp data |
| # |
| # clean up |
| # |
| wait for the controller to request the release of resources |
| free the N × 4 of timestamp data |
| ====================================================== |
| = | = | |
| = | endpoint (rtp) | = |
| = | = |
| ====================================================== |
| # |
| # wait for the controller request |
| # |
| wait for the controller request |
| get the number of packets N in the call |
| get the inter-packet delay DELTA in the call |
| get the packet size S for the call |
| get the destination address DA for the call |
| get the destination port DP for the call |
| determine our ip address SA |
| pick a free port number SP |
| ask kernel to keep send timestamp for UDP traffic from SA,SP to DA,DP |
| allocate a N × 4 array to hold timestamps data |
| # |
| # set up alarms |
| # |
| set T0 to now |
| I=1 |
| set up alarm for T0+I*DELTA |
| forever |
| # | |
| # wait for something to happen (packet or alarm) | |
| # | |
| wait for a packet to come on port SP or alarm to ring | |
| # | |
| # receiving | |
| # | |
| if packet has arrived |
| # | |
| # get the packet data | |
| # | |
| determine the user land receive timestamp UR | |
| determine the kernel receive timestamp KR | |
| determine the index number J of the packet | |
| store UR, KR in memory array at index J | |
| # | |
| # break out of loop | |
| # | |
| if J equals N, break out of forever loop |
| # | |
| # sending | |
| # | |
| if alarm has rung |
| # | |
| # store timestamps | |
| # | |
| # | |
| # get the kernel send timestamp for previous packet | |
| # this is done for the second packet onwards | |
| # | |
| if this is not first packet |
| obtain the kernel send timestamp KS for previous packet | |
| store KS in memory array at index I−1 |
| # | |
| # prepare the packet to be send | |
| # | |
| build an RTP packet with header and index I | |
| determine the user land send timestamp US | |
| store US in memory array at index I | |
| I=I+1 | |
| setup alarm to ring at T0+I*DELTA |
| # |
| # get last kernel send timestamp |
| # |
| obtain the kernel send timestamp KS for previous packet |
| store KS in memory array at index N |
| # |
| # return the timestamp data when requested |
| # |
| wait for the controller to request the timestamp data |
| send the in memory array of size N × 4 of timestamp data |
| # |
| # clean up |
| # |
| wait for the controller to request the release of resources |
| free the N × 4 of timestamp data |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/261,431US7313098B2 (en) | 2002-09-30 | 2002-09-30 | Communication system endpoint device with integrated call synthesis capability |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/261,431US7313098B2 (en) | 2002-09-30 | 2002-09-30 | Communication system endpoint device with integrated call synthesis capability |
| Publication Number | Publication Date |
|---|---|
| US20040062204A1 US20040062204A1 (en) | 2004-04-01 |
| US7313098B2true US7313098B2 (en) | 2007-12-25 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/261,431Active2025-10-27US7313098B2 (en) | 2002-09-30 | 2002-09-30 | Communication system endpoint device with integrated call synthesis capability |
| Country | Link |
|---|---|
| US (1) | US7313098B2 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030135510A1 (en)* | 2002-01-14 | 2003-07-17 | Alcatel | Determining the probable cause of a reduction in the quality of a service as a function of the evolution of a set of services |
| US20050193124A1 (en)* | 2004-03-01 | 2005-09-01 | Wu Chou | Web services and session initiation protocol endpoint for converged communication over internet protocol networks |
| US20050198320A1 (en)* | 2004-03-01 | 2005-09-08 | Wu Chou | Resilient application layer overlay framework for converged communication over internet protocol networks |
| US20060075126A1 (en)* | 2004-09-29 | 2006-04-06 | Lehrschall Ronald W | Method for fast switchover and recovery of a media gateway |
| US20070071026A1 (en)* | 2005-09-23 | 2007-03-29 | Rivulet Communications, Inc. | Compressed video packet scheduling system |
| US20070118742A1 (en)* | 2002-11-27 | 2007-05-24 | Microsoft Corporation | Native WI-FI architecture for 802.11 networks |
| US20070201386A1 (en)* | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Testing a station's response to non-compliant wireless communication |
| US20080181123A1 (en)* | 2007-01-31 | 2008-07-31 | Alexander Lisheng Huang | Methods and apparatus to manage network testing procedures |
| US20080301271A1 (en)* | 2007-06-01 | 2008-12-04 | Fei Chen | Method of ip address de-aliasing |
| US20090268622A1 (en)* | 2008-04-24 | 2009-10-29 | Paul Blum | Route Tracing Program Configured to Detect Particular Network Element Making Type of Service Modification |
| US20100142377A1 (en)* | 2008-12-10 | 2010-06-10 | Razvan Caciula | SIP Information Extraction |
| US8116433B2 (en) | 2010-04-13 | 2012-02-14 | Ixia | Calls per second network testing |
| CN105407006A (en)* | 2015-12-11 | 2016-03-16 | 小米科技有限责任公司 | Network information configuring method and device and router |
| US20170366477A1 (en)* | 2016-06-17 | 2017-12-21 | Intel Corporation | Technologies for coordinating access to data packets in a memory |
| US10999209B2 (en) | 2017-06-28 | 2021-05-04 | Intel Corporation | Technologies for scalable network packet processing with lock-free rings |
| US20230147786A1 (en)* | 2020-04-13 | 2023-05-11 | Huawei Technologies Co., Ltd. | Thread Management Method and Apparatus |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7313605B2 (en) | 2003-07-03 | 2007-12-25 | At&T Corp. | Externally controlled reachability in virtual private networks |
| US7817567B2 (en)* | 2003-07-28 | 2010-10-19 | Jds Uniphase Corporation | Troubleshooting a specific voice over internet protocol (VOIP) telephone call transmitted over a communications network |
| US7583667B2 (en)* | 2004-03-19 | 2009-09-01 | Avaya Inc. | Automatic determination of connectivity problem locations or other network-characterizing information in a network utilizing an encapsulation protocol |
| US7821940B2 (en)* | 2004-04-05 | 2010-10-26 | Alcatel-Lucent Usa Inc. | Transmission of maintenance information of an active packet connection through employment of packets communicated over the active packet connection |
| US20060034185A1 (en)* | 2004-07-08 | 2006-02-16 | Patzschke Till I | Systems and methods for monitoring and evaluating a connectivity device |
| US20060056403A1 (en)* | 2004-09-13 | 2006-03-16 | Pleasant Daniel L | System and method for robust communication via a non-reliable protocol |
| US8930579B2 (en)* | 2004-09-13 | 2015-01-06 | Keysight Technologies, Inc. | System and method for synchronizing operations of a plurality of devices via messages over a communication network |
| US8787363B2 (en)* | 2004-09-22 | 2014-07-22 | Alcatel Lucent | Fault isolation constructs for POTS emulation service on an FTTx platform |
| US7535847B1 (en)* | 2004-12-30 | 2009-05-19 | Sprint Communications Company Lp | Remote testing for service provider networks |
| US7539205B1 (en)* | 2005-01-07 | 2009-05-26 | Juniper Networks, Inc. | Service-specific logical interfaces for providing VPN customers access to external multicast content |
| US7535926B1 (en) | 2005-01-07 | 2009-05-19 | Juniper Networks, Inc. | Dynamic interface configuration for supporting multiple versions of a communication protocol |
| US7983155B2 (en)* | 2005-02-23 | 2011-07-19 | Siemens Enterprise Communications, Inc. | Systems and methods for testing a network |
| US7551565B2 (en)* | 2005-03-03 | 2009-06-23 | Cisco Technology, Inc. | User semantic overlay for troubleshooting convergent network problems |
| US8031696B2 (en)* | 2005-03-11 | 2011-10-04 | Genband Us Llc | System and method for routing VoIP calls |
| US7995557B2 (en)* | 2005-03-11 | 2011-08-09 | Genband Us Llc | System and method for determining network quality for voIP calls |
| US7606232B1 (en) | 2005-11-09 | 2009-10-20 | Juniper Networks, Inc. | Dynamic virtual local area network (VLAN) interface configuration |
| ATE390777T1 (en)* | 2005-12-05 | 2008-04-15 | Alcatel Lucent | METHOD FOR MONITORING THE QUALITY OF REAL-TIME COMMUNICATIONS |
| US7492766B2 (en)* | 2006-02-22 | 2009-02-17 | Juniper Networks, Inc. | Dynamic building of VLAN interfaces based on subscriber information strings |
| US7808994B1 (en) | 2006-02-22 | 2010-10-05 | Juniper Networks, Inc. | Forwarding traffic to VLAN interfaces built based on subscriber information strings |
| US20070223462A1 (en)* | 2006-03-27 | 2007-09-27 | Steven Hite | Enhanced service delivery platform that provides a common framework for use by IMS and Web applications in delivering services |
| DE102006021596B4 (en)* | 2006-05-09 | 2008-04-30 | Nokia Siemens Networks Gmbh & Co.Kg | Method for the computer-aided operation of a communication network, computer and terminal |
| US7768929B2 (en)* | 2006-07-31 | 2010-08-03 | Avaya Inc. | Determination of endpoint device location for efficient analysis of network performance |
| US8526314B2 (en)* | 2006-08-22 | 2013-09-03 | At&T Intellectual Property I, Lp | Methods and apparatus to provide service assurance for communication networks |
| US8824313B2 (en)* | 2006-09-14 | 2014-09-02 | Avaya Inc. | Data compression in a distributed monitoring system |
| US7843834B2 (en)* | 2006-09-15 | 2010-11-30 | Itron, Inc. | Use of minimal propagation delay path to optimize a mesh network |
| US7924733B2 (en)* | 2006-09-28 | 2011-04-12 | Avaya Inc. | Root cause analysis of network performance based on exculpation or inculpation sets |
| US8102841B2 (en)* | 2006-12-05 | 2012-01-24 | Microsoft Corporation | Auxiliary peripheral for alerting a computer of an incoming call |
| US8953496B2 (en)* | 2007-02-26 | 2015-02-10 | Avaya Inc. | Detection of asymmetric network routes |
| US7688758B2 (en)* | 2007-06-26 | 2010-03-30 | Avaya Inc. | Node merging process for network topology representation |
| US20090077539A1 (en)* | 2007-09-14 | 2009-03-19 | Inter-Tel (Delaware), Inc. | System and method for endpoint device testing |
| US20090086639A1 (en)* | 2007-09-27 | 2009-04-02 | Verizon Services Corp. | Testing dynamically addressed network devices |
| US8027267B2 (en)* | 2007-11-06 | 2011-09-27 | Avaya Inc | Network condition capture and reproduction |
| US8203968B2 (en)* | 2007-12-19 | 2012-06-19 | Solarwinds Worldwide, Llc | Internet protocol service level agreement router auto-configuration |
| US20090161658A1 (en)* | 2007-12-19 | 2009-06-25 | Solar Winds.Net | Method for selecting VOIP call path to monitor |
| US8184546B2 (en)* | 2008-02-29 | 2012-05-22 | Avaya Inc. | Endpoint device configured to permit user reporting of quality problems in a communication network |
| WO2010132884A1 (en)* | 2009-05-15 | 2010-11-18 | Ciso Technology, Inc. | System and method for a self-organizing network |
| US9191327B2 (en) | 2011-02-10 | 2015-11-17 | Varmour Networks, Inc. | Distributed service processing of network gateways using virtual machines |
| US9742732B2 (en) | 2012-03-12 | 2017-08-22 | Varmour Networks, Inc. | Distributed TCP SYN flood protection |
| US9294302B2 (en)* | 2012-03-22 | 2016-03-22 | Varmour Networks, Inc. | Non-fragmented IP packet tunneling in a network |
| US10264025B2 (en) | 2016-06-24 | 2019-04-16 | Varmour Networks, Inc. | Security policy generation for virtualization, bare-metal server, and cloud computing environments |
| US10091238B2 (en) | 2014-02-11 | 2018-10-02 | Varmour Networks, Inc. | Deception using distributed threat detection |
| US9973472B2 (en) | 2015-04-02 | 2018-05-15 | Varmour Networks, Inc. | Methods and systems for orchestrating physical and virtual switches to enforce security boundaries |
| US9294442B1 (en) | 2015-03-30 | 2016-03-22 | Varmour Networks, Inc. | System and method for threat-driven security policy controls |
| US10193929B2 (en) | 2015-03-13 | 2019-01-29 | Varmour Networks, Inc. | Methods and systems for improving analytics in distributed networks |
| US9380027B1 (en) | 2015-03-30 | 2016-06-28 | Varmour Networks, Inc. | Conditional declarative policies |
| US10009381B2 (en) | 2015-03-30 | 2018-06-26 | Varmour Networks, Inc. | System and method for threat-driven security policy controls |
| US9525697B2 (en) | 2015-04-02 | 2016-12-20 | Varmour Networks, Inc. | Delivering security functions to distributed networks |
| US11089160B1 (en)* | 2015-07-14 | 2021-08-10 | Ujet, Inc. | Peer-to-peer VoIP |
| US9483317B1 (en) | 2015-08-17 | 2016-11-01 | Varmour Networks, Inc. | Using multiple central processing unit cores for packet forwarding in virtualized networks |
| US10191758B2 (en) | 2015-12-09 | 2019-01-29 | Varmour Networks, Inc. | Directing data traffic between intra-server virtual machines |
| US10412114B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Application randomization mechanism |
| US10412116B1 (en)* | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Mechanism for concealing application and operation system identity |
| US10007498B2 (en) | 2015-12-17 | 2018-06-26 | Architecture Technology Corporation | Application randomization mechanism |
| US9680852B1 (en) | 2016-01-29 | 2017-06-13 | Varmour Networks, Inc. | Recursive multi-layer examination for computer network security remediation |
| US9762599B2 (en) | 2016-01-29 | 2017-09-12 | Varmour Networks, Inc. | Multi-node affinity-based examination for computer network security remediation |
| US9521115B1 (en) | 2016-03-24 | 2016-12-13 | Varmour Networks, Inc. | Security policy generation using container metadata |
| US10755334B2 (en) | 2016-06-30 | 2020-08-25 | Varmour Networks, Inc. | Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors |
| US10554685B1 (en) | 2017-05-25 | 2020-02-04 | Architecture Technology Corporation | Self-healing architecture for resilient computing services |
| US11310284B2 (en) | 2019-05-31 | 2022-04-19 | Varmour Networks, Inc. | Validation of cloud security policies |
| US11863580B2 (en) | 2019-05-31 | 2024-01-02 | Varmour Networks, Inc. | Modeling application dependencies to identify operational risk |
| US11575563B2 (en) | 2019-05-31 | 2023-02-07 | Varmour Networks, Inc. | Cloud security management |
| US11290494B2 (en) | 2019-05-31 | 2022-03-29 | Varmour Networks, Inc. | Reliability prediction for cloud security policies |
| US11290493B2 (en) | 2019-05-31 | 2022-03-29 | Varmour Networks, Inc. | Template-driven intent-based security |
| US11711374B2 (en) | 2019-05-31 | 2023-07-25 | Varmour Networks, Inc. | Systems and methods for understanding identity and organizational access to applications within an enterprise environment |
| US11818152B2 (en) | 2020-12-23 | 2023-11-14 | Varmour Networks, Inc. | Modeling topic-based message-oriented middleware within a security system |
| US11876817B2 (en) | 2020-12-23 | 2024-01-16 | Varmour Networks, Inc. | Modeling queue-based message-oriented middleware relationships in a security system |
| US11777978B2 (en) | 2021-01-29 | 2023-10-03 | Varmour Networks, Inc. | Methods and systems for accurately assessing application access risk |
| US12050693B2 (en) | 2021-01-29 | 2024-07-30 | Varmour Networks, Inc. | System and method for attributing user behavior from multiple technical telemetry sources |
| US11734316B2 (en) | 2021-07-08 | 2023-08-22 | Varmour Networks, Inc. | Relationship-based search in a computing environment |
| CN114095398A (en)* | 2021-10-22 | 2022-02-25 | 深信服科技股份有限公司 | Method and device for determining detection time delay, electronic equipment and storage medium |
| CN114339353B (en)* | 2021-12-31 | 2023-09-29 | 晶晨半导体科技(北京)有限公司 | Audio and video synchronization method and device, electronic equipment and computer-readable storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6850525B2 (en)* | 2002-01-04 | 2005-02-01 | Level 3 Communications, Inc. | Voice over internet protocol (VoIP) network performance monitor |
| US6947417B2 (en)* | 2001-06-29 | 2005-09-20 | Ip Unity | Method and system for providing media services |
| US6967958B2 (en)* | 2000-02-24 | 2005-11-22 | Fujitsu Limited | Communication-status notification apparatus for communication system, communication-status display apparatus, communication-status notification method, medium in which communication-status notification program is recorded and communication apparatus |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6967958B2 (en)* | 2000-02-24 | 2005-11-22 | Fujitsu Limited | Communication-status notification apparatus for communication system, communication-status display apparatus, communication-status notification method, medium in which communication-status notification program is recorded and communication apparatus |
| US6947417B2 (en)* | 2001-06-29 | 2005-09-20 | Ip Unity | Method and system for providing media services |
| US6850525B2 (en)* | 2002-01-04 | 2005-02-01 | Level 3 Communications, Inc. | Voice over internet protocol (VoIP) network performance monitor |
| Title |
|---|
| "Chariot VoIP Assessor Version 1.0," http://www.tmcnet.com/it/0302/0302labs5.htm, pp. 1-4, Mar. 2002. |
| "Chariot," http://www.netiq.com/products/chr/, pp. 1-2, 2002. |
| "Omegon Unveils NetAlly Solution; Industry-First Fully Active Service Quality Assurance Platform Assures Customers Unprecedented Levels of Network Availablility and Reliability," http://www.itsecurity.com/tecsnews/sep2000/sep517.htm, pp. 1-3, Sep. 2000. |
| "VoIP Management and Network Testing," http://www.netiq.com/solutions/voip/default.asp, pp. 1-3, 2002. |
| "VoIP Test Module for Chariot," http://ww.netiq.com/products/chr/voipmodule.asp, pp. 1-2, 2002. |
| Moshe Sidi et al., "Converged Network Performance Verification and e-Support Using NetAlly(R)," Omegon Networks Ltd., pp. 1-13, Jun. 2001. |
| Moshe Sidi, "Readying Your Network for VoIP: Get it Right the First Time," Viola Networks, pp. 1-9, Apr. 2002. |
| Moshe Sidi, "Reality-based VoIP Readiness Testing using NetAlly(R) VoIP," Viola Networks, pp. 1-10, Apr. 2002. |
| Telchemy, Inc., "Bringing Intelligence to Networks," http://www.telchemy.com/, pp. 1-5, 2001. |
| Telchemy, Inc., "Monitoring Voice Quality in Voice Over IP Networks," 3 pages, 2001. |
| Viola Networks, "NetAlly(R) VoIP-VoIP Readiness Testing and Deployment," http://www.omegon.com/netally<SUB>-</SUB>voip.asp, pp. 1-4, 2002. |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030135510A1 (en)* | 2002-01-14 | 2003-07-17 | Alcatel | Determining the probable cause of a reduction in the quality of a service as a function of the evolution of a set of services |
| US20070118742A1 (en)* | 2002-11-27 | 2007-05-24 | Microsoft Corporation | Native WI-FI architecture for 802.11 networks |
| US9265088B2 (en) | 2002-11-27 | 2016-02-16 | Microsoft Technology Licensing, Llc | Native Wi-Fi architecture for 802.11 networks |
| US8327135B2 (en) | 2002-11-27 | 2012-12-04 | Microsoft Corporation | Native WI-FI architecture for 802.11 networks |
| US8799478B2 (en)* | 2004-03-01 | 2014-08-05 | Avaya Inc. | Web services and session initiation protocol endpoint for converged communication over internet protocol networks |
| US20050198320A1 (en)* | 2004-03-01 | 2005-09-08 | Wu Chou | Resilient application layer overlay framework for converged communication over internet protocol networks |
| US7809846B2 (en) | 2004-03-01 | 2010-10-05 | Avaya Inc. | Resilient application layer overlay framework for converged communication over Internet protocol networks |
| US20050193124A1 (en)* | 2004-03-01 | 2005-09-01 | Wu Chou | Web services and session initiation protocol endpoint for converged communication over internet protocol networks |
| US20060075126A1 (en)* | 2004-09-29 | 2006-04-06 | Lehrschall Ronald W | Method for fast switchover and recovery of a media gateway |
| US7827307B2 (en)* | 2004-09-29 | 2010-11-02 | Cisco Technology, Inc. | Method for fast switchover and recovery of a media gateway |
| US20070071026A1 (en)* | 2005-09-23 | 2007-03-29 | Rivulet Communications, Inc. | Compressed video packet scheduling system |
| US20070201386A1 (en)* | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Testing a station's response to non-compliant wireless communication |
| US7599304B2 (en)* | 2006-02-28 | 2009-10-06 | Microsoft Corporation | Testing a station's response to non-compliant wireless communication |
| US20080181123A1 (en)* | 2007-01-31 | 2008-07-31 | Alexander Lisheng Huang | Methods and apparatus to manage network testing procedures |
| US20080301271A1 (en)* | 2007-06-01 | 2008-12-04 | Fei Chen | Method of ip address de-aliasing |
| US8661101B2 (en)* | 2007-06-01 | 2014-02-25 | Avaya Inc. | Method of IP address de-aliasing |
| US8107388B2 (en) | 2008-04-24 | 2012-01-31 | Avaya Inc. | Route tracing program configured to detect particular network element making type of service modification |
| US20090268622A1 (en)* | 2008-04-24 | 2009-10-29 | Paul Blum | Route Tracing Program Configured to Detect Particular Network Element Making Type of Service Modification |
| US20100142377A1 (en)* | 2008-12-10 | 2010-06-10 | Razvan Caciula | SIP Information Extraction |
| US8116433B2 (en) | 2010-04-13 | 2012-02-14 | Ixia | Calls per second network testing |
| CN105407006A (en)* | 2015-12-11 | 2016-03-16 | 小米科技有限责任公司 | Network information configuring method and device and router |
| US20170366477A1 (en)* | 2016-06-17 | 2017-12-21 | Intel Corporation | Technologies for coordinating access to data packets in a memory |
| US11671382B2 (en)* | 2016-06-17 | 2023-06-06 | Intel Corporation | Technologies for coordinating access to data packets in a memory |
| US10999209B2 (en) | 2017-06-28 | 2021-05-04 | Intel Corporation | Technologies for scalable network packet processing with lock-free rings |
| US20230147786A1 (en)* | 2020-04-13 | 2023-05-11 | Huawei Technologies Co., Ltd. | Thread Management Method and Apparatus |
| US12386652B2 (en)* | 2020-04-13 | 2025-08-12 | Huawei Technologies Co., Ltd. | Thread management method and apparatus based on an operating system load |
| Publication number | Publication date |
|---|---|
| US20040062204A1 (en) | 2004-04-01 |
| Publication | Publication Date | Title |
|---|---|---|
| US7313098B2 (en) | Communication system endpoint device with integrated call synthesis capability | |
| US9742650B2 (en) | Systems and methods for measuring available capacity and tight link capacity of IP paths from a single endpoint | |
| CA2469394C (en) | Distributed monitoring and analysis system for network traffic | |
| EP2058977B1 (en) | Network condition capture and reproduction | |
| US7596096B2 (en) | Method and apparatus for providing trace route and timing information for media streams | |
| US7496044B1 (en) | Method and apparatus for analyzing a media path for an internet protocol (IP) media session | |
| EP1341345B1 (en) | System and method for collecting statistics within a packet network | |
| US7218895B1 (en) | System, method, and apparatus for testing voice quality in a communication network | |
| US9379955B2 (en) | Method for queuing data packets and node | |
| US20070230361A1 (en) | Sniffing-based network monitoring | |
| US20030185210A1 (en) | Monitoring quality of service in a packet-based network | |
| US20040228284A1 (en) | System and method for measuring data network quality | |
| US20050238000A1 (en) | System and method for computing demand placed on a packet-switched network by streaming media communication | |
| US7944840B2 (en) | Method for facilitating latency measurements using intermediate network devices between endpoint devices connected by a computer network | |
| CN100358301C (en) | Active measuring system and method | |
| EP1525720B1 (en) | End to end test between gateways in an ip network | |
| US7525952B1 (en) | Method and apparatus for determining the source of user-perceived voice quality degradation in a network telephony environment | |
| US20050174947A1 (en) | Method and process for video over IP network management | |
| Cisco | Call Admission Control for H.323 VoIP Gateways | |
| Cisco | Call Admission Control for H.323 VoIP Gateways | |
| Cisco | MGCP VoIP Call Admission Control | |
| EP1201072B1 (en) | Test method for computer telephony links | |
| Pearsall et al. | Doing a VoIP Assessment with Vivinet Assessor | |
| Kampichler et al. | On measuring quality of service limitations in local area networks | |
| Kampichler et al. | Measuring voice readiness of local area networks |
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment | Owner name:AVAYA TECHNOLOGY CORP., NEW JERSEY Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEARDEN, MARK J.;BIANCO, SCOTT VINCENT;DENBY, LORRAINE;AND OTHERS;REEL/FRAME:013526/0001;SIGNING DATES FROM 20021021 TO 20021028 | |
| AS | Assignment | Owner name:CITIBANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK Free format text:SECURITY AGREEMENT;ASSIGNORS:AVAYA, INC.;AVAYA TECHNOLOGY LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:020156/0149 Effective date:20071026 Owner name:CITIBANK, N.A., AS ADMINISTRATIVE AGENT,NEW YORK Free format text:SECURITY AGREEMENT;ASSIGNORS:AVAYA, INC.;AVAYA TECHNOLOGY LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:020156/0149 Effective date:20071026 | |
| AS | Assignment | Owner name:CITICORP USA, INC., AS ADMINISTRATIVE AGENT, NEW Y Free format text:SECURITY AGREEMENT;ASSIGNORS:AVAYA, INC.;AVAYA TECHNOLOGY LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:020166/0705 Effective date:20071026 Owner name:CITICORP USA, INC., AS ADMINISTRATIVE AGENT, NEW YORK Free format text:SECURITY AGREEMENT;ASSIGNORS:AVAYA, INC.;AVAYA TECHNOLOGY LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:020166/0705 Effective date:20071026 Owner name:CITICORP USA, INC., AS ADMINISTRATIVE AGENT,NEW YO Free format text:SECURITY AGREEMENT;ASSIGNORS:AVAYA, INC.;AVAYA TECHNOLOGY LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:020166/0705 Effective date:20071026 | |
| STCF | Information on status: patent grant | Free format text:PATENTED CASE | |
| AS | Assignment | Owner name:AVAYA INC, NEW JERSEY Free format text:REASSIGNMENT;ASSIGNOR:AVAYA TECHNOLOGY LLC;REEL/FRAME:021158/0319 Effective date:20080625 | |
| AS | Assignment | Owner name:AVAYA TECHNOLOGY LLC, NEW JERSEY Free format text:CONVERSION FROM CORP TO LLC;ASSIGNOR:AVAYA TECHNOLOGY CORP.;REEL/FRAME:022071/0420 Effective date:20051004 | |
| AS | Assignment | Owner name:BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE, PENNSYLVANIA Free format text:SECURITY AGREEMENT;ASSIGNOR:AVAYA INC., A DELAWARE CORPORATION;REEL/FRAME:025863/0535 Effective date:20110211 Owner name:BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLAT Free format text:SECURITY AGREEMENT;ASSIGNOR:AVAYA INC., A DELAWARE CORPORATION;REEL/FRAME:025863/0535 Effective date:20110211 | |
| FPAY | Fee payment | Year of fee payment:4 | |
| AS | Assignment | Owner name:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, PENNSYLVANIA Free format text:SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date:20130307 Owner name:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, Free format text:SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date:20130307 | |
| FPAY | Fee payment | Year of fee payment:8 | |
| FEPP | Fee payment procedure | Free format text:PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY | |
| AS | Assignment | Owner name:CITIBANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK Free format text:SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS INC.;OCTEL COMMUNICATIONS CORPORATION;AND OTHERS;REEL/FRAME:041576/0001 Effective date:20170124 | |
| AS | Assignment | Owner name:OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION), CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:AVAYA INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST, NA;REEL/FRAME:044892/0001 Effective date:20171128 Owner name:VPNET TECHNOLOGIES, INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:AVAYA INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNI Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date:20171128 Owner name:AVAYA INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:045012/0666 Effective date:20171128 | |
| AS | Assignment | Owner name:VPNET TECHNOLOGIES, INC., NEW JERSEY Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045032/0213 Effective date:20171215 Owner name:AVAYA TECHNOLOGY, LLC, NEW JERSEY Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045032/0213 Effective date:20171215 Owner name:OCTEL COMMUNICATIONS LLC, CALIFORNIA Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045032/0213 Effective date:20171215 Owner name:SIERRA HOLDINGS CORP., NEW JERSEY Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045032/0213 Effective date:20171215 Owner name:AVAYA, INC., CALIFORNIA Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045032/0213 Effective date:20171215 | |
| AS | Assignment | Owner name:GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW YORK Free format text:SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date:20171215 Owner name:GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW Y Free format text:SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date:20171215 | |
| AS | Assignment | Owner name:CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text:SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045124/0026 Effective date:20171215 | |
| MAFP | Maintenance fee payment | Free format text:PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment:12 | |
| AS | Assignment | Owner name:WILMINGTON TRUST, NATIONAL ASSOCIATION, MINNESOTA Free format text:SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA MANAGEMENT L.P.;INTELLISIST, INC.;AND OTHERS;REEL/FRAME:053955/0436 Effective date:20200925 | |
| AS | Assignment | Owner name:VPNET TECHNOLOGIES, CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:060953/0412 Effective date:20171128 Owner name:OCTEL COMMUNICATIONS LLC, CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:060953/0412 Effective date:20171128 Owner name:AVAYA TECHNOLOGY LLC, CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:060953/0412 Effective date:20171128 Owner name:AVAYA, INC., CALIFORNIA Free format text:BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:060953/0412 Effective date:20171128 | |
| AS | Assignment | Owner name:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, DELAWARE Free format text:INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA INC.;INTELLISIST, INC.;AVAYA MANAGEMENT L.P.;AND OTHERS;REEL/FRAME:061087/0386 Effective date:20220712 | |
| AS | Assignment | Owner name:AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date:20230403 Owner name:AVAYA MANAGEMENT L.P., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date:20230403 Owner name:AVAYA INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date:20230403 Owner name:AVAYA HOLDINGS CORP., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date:20230403 | |
| AS | Assignment | Owner name:WILMINGTON SAVINGS FUND SOCIETY, FSB (COLLATERAL AGENT), DELAWARE Free format text:INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA MANAGEMENT L.P.;AVAYA INC.;INTELLISIST, INC.;AND OTHERS;REEL/FRAME:063742/0001 Effective date:20230501 | |
| AS | Assignment | Owner name:CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text:INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA INC.;AVAYA MANAGEMENT L.P.;INTELLISIST, INC.;REEL/FRAME:063542/0662 Effective date:20230501 | |
| AS | Assignment | Owner name:AVAYA MANAGEMENT L.P., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:CAAS TECHNOLOGIES, LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:HYPERQUALITY II, LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:HYPERQUALITY, INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.), NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:VPNET TECHNOLOGIES, INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:OCTEL COMMUNICATIONS LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:INTELLISIST, INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:AVAYA INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date:20230501 Owner name:AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date:20230501 Owner name:INTELLISIST, INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date:20230501 Owner name:AVAYA INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date:20230501 Owner name:AVAYA MANAGEMENT L.P., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date:20230501 Owner name:AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date:20230501 Owner name:INTELLISIST, INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date:20230501 Owner name:AVAYA INC., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date:20230501 Owner name:AVAYA MANAGEMENT L.P., NEW JERSEY Free format text:RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date:20230501 | |
| AS | Assignment | Owner name:AVAYA LLC, DELAWARE Free format text:(SECURITY INTEREST) GRANTOR'S NAME CHANGE;ASSIGNOR:AVAYA INC.;REEL/FRAME:065019/0231 Effective date:20230501 |