Luồng UIO là một phơng án thuộc giải pháp bộ đệm (hình 3 ) .Dữ liệu thoại nhận đợc từ mạng thoại (ghi ) đợc ghi vào bộ đệm firmware của board thoại .Driver thoại sau đó điều khiển việc chuyển dữ liệu từ bộ đệm firmware đến một bộ đệm của driver .Các bộ đệm Driver đợc tạo ra trong bộ nhớ của ngời dùng sử dụng hàm dx_setparm() , và có thể đợc gán bất kỳ giá trị nào trong khoảng 256 byte đến 1 KB.Trong quá trình ghi ,khi bộ đệm driver đã đầy ,driver thoại gọi hàm write() của ngời dùng (đợc chỉ ra trong hàm
dx_setuio()).Thông thờng , hàm write() đợc sử dụng để lu dữ liệu trong bộ đệm ứng dụngđể xử lý.
Dữ liệu thoại nhận đợc từ Internet (đọc ) đợc lu vào trong bộ đệm ứng dụng .Trong khi đọc , khi driver thoại cần dữ liệu, một hàm read() của ngời dùng (đợc chỉ ra trong hàm dx_setuio() ) đợc sử di\ụng để lu dữ liệu đến bộ đệm của driver (Nếu không có dữ liệu ,driver thoại chèn khoảng lặng vào bộ đệm firmware ). Driver thoại sau đó
Internet gateway Application
Rescource1 Rescource3 Rescource2 Rescource4 CO or PBX Internet Channel1 Channel 2 PCM Record PCM Play PCM Play PCM Record Telephone Telephone
chuyển dữ liệu đến bộ đệm firmware nơi nó đợc xử lý và gửi đi khỏi board thoại đến mạng telephone.
Trễ tổng thể qua Internet GateWay có thể đợc giảm bớt nhờ điều chỉnh cỡ bộ đệm của cả firmware và driver .Để hoạt động tối u ,cỡ của bộ đệm driver phải đợc đặt ở giá trị ít nhất gấp đôi cỡ bộ đệm firmware. Ví dụ khi sử dụng cỡ bộ đệm firmware là 512 byte và cỡ bộ đệm driver là 1.5kb thì trễ xấp xỉ 225 ms.
Hình 8-Hai phơng pháp truyền dữ liệu
Tốc độ vi xử lý của máy chủ cũng nh các chơng trình cùng chạy đồng thời sẽ có ảnh h- ởng đến khả năng giá trị các bộ đệm có thể đặt thấp đến đâu .Các thử nghiệm ban đầu chỉ ra cỡ tối thiểu cho bộ đệm driver là 512 và cỡ tối thiểu của bộ đệm firmware là 256 với vi xử lý pentium (90Mhz hoặc cao hơn ).