VoIP... 2... 2 Abstract... 2... 3... 3 RTP...3 Socket...4...6...7 IP...9 Config Two Voice-hub... 10 1 12
VoIP VoIP voice-hub voice-hub Abstract At the beginning of this paper, we introducted the essential framework of the voip system, and then introduced some concept involved in the Real-time protocol briefly. The very important thing that we had done in this paper is to analyze the connection between two voice-hub and analyze the data-transmission mechanism between two voice-hub. In the end of this paper, we discussed the configuration of two voice-hub. VoIP RTP Socket HPI VxWorks voice-hub 2 12
VoIP CPU MPC860 VxWorks VxWorks Application Layer VoIP Signaling RTP/RTCP DSP Signaling RTP/RTCP OS Layer Flash, LED, Serial,100Methernet DSP Interface DSP CPU RTP RTP Real-timeTransportProtocol Internet RTP RTP RTP RTP IP VoIP RTP UDP UDP IP RTP RTP RTP UDP RTP RTP RTP RTP RTP RTP UDP (socket interface) RTP UDP RTP RTP 3 12
RTP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ V=2 P X CC M PT sequence number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ timestamp +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ synchronization source (SSRC) identifier +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ contributing source (CSRC) identifiers... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Socket voice-hub voice-hub UDP Socket Socket result=socket(pf, type, protocol) pf PF_INET PF_PUP PF_APPLETALK PF_UNIX Type SOCK_STREAM SOCK_DGRAM SOCK_RAW bind connect connect Connect connect( socket, destaddr, addrlen) 4 12
socket destaddr addrlen Connect PF_INET TCP connect TCP connect listen listen listen listen socket, qlength socket qlength listen qlength Listen 4 send sendto sendmsg write read recv recvfrom recvmsg getpeername getsockname Socket TCP/IP API 4 ntohs ntohl htons 5 12
htonl 32 IP API 6 12
voip IP Agent Agent Gateway TDS Agent socket Gateway voice-hub voice-hub voice-hub voice-hub master slaver Master slaver agentmain master Agent master slaver 8 endpoint endpoint DSP_Task sb_netrecv_task DSP_Task DSP HPI sb_netrecv_task RTP HPI Host Port Interface DSP TMS320VC549 2K*16 8bit MPC860T MPC860T TMS320VC549 voice_hub MPC_SetNetIncomingSB() MPC_SetNetOutgoingSB() voice-hub connect UDP socket voice-hub connect socket MPC_SetNetIncomingSB() netin[i] gnetrecv[i*net_voice_words] netin[i].pnetrecv internalsbcontrol() netin[i].pnetrecv SwitchArray[dst] inputs[cnt], SwitchArray[dst] MPC_SetNetOutgoingSB() netout[i] netout[i].pdsptran gdsprecv[mpid*voice_words] 7 12
gdsprecv[mpid*voice_words] netout[i] RTP RTP 1 CLASS RtpPacket RTP timestamp version packetdata 2 Class RteTransmitter RTP UdpStack socket UdpStack::transmit RTP 3 Class RtpReceiver RTP UdpStack socket UdpStack::receive RTP Fast Ethernet Boot ROM Console Port System Flash Debug Port 860T SDRAM LED H P DSP FPGA B S Q S L I C SLIC SLIC SLIC TRUNK TO PSTN Telephone Telephone SLIC Telephone RTP IP Udp UdpStack Udp socket IP UdpMode 8 12
voice-hub DSP HPI CPU CPU FastEthernet voice-hub DSP CPU HPI CPU DSP CPU DSP DSP MPC task Dsptaskwork HPI HPI MPC HPI DSPRecv netout[i] netout[i].pdsptran gdsprecv[mpid*voice_words] gdsprecv[mpid*voice_words] DSPRecv netout[i] SwitchBoard RTP netout[i].tran->transmit(packet) SwitchBoard EndPointOutput gendpointoutput[] EndPointOutput SwitchArray[] endpoint cnt inputs[] voice-hub voice-hub voice-hub netin[] sb_netrecv_task netin[] netin[i].pnetrecv MPC_SetNetIncomingSB() gnetrecv[i*net_voice_words] netin[i].pnetrecv SwitchBoard() SwitchArray[dst] gendpointoutput[] gendpointoutput[] DSP DSPXmit Dsptaskwork HPI DSP DSP IP IP voice-hub GatewayMain ConfigVoiceGatewayFromDataBuf(dataBuf) Gateway IP GetCallAgentIpAddr voice-hub Agent IP agent voice-hub Gateway FakeMgAgent Agent IP FakeMgAgent 9 12
Socket voice-hub Config Two Voice-hub Voice-hub Voice-hub voice-hub voice-hub master slaver voice-hub master gateway agent voice-hub slaver master slaver agent ip agent slaver agent voice-hub agent agent gateway endpoint TGS tgs.cfg filebuf gateway ConfigVoiceGatewayFromDataBuf gateway gateway hostname gateway mode master slaver agent listen gateway listen endpoint endpoint GetCallAgentIpAddr callagent ip MPC callagent gateway agent Gateway gateway_task ProcessAgentMsg gateway_task endpoint event message ProcessAgentMsg agent message 10 12
voice-hub 11 12
Douglas E.Comer TCP/IP Walter J.Goralski & Matthew C.Kolon IP Telephony Library of Congress Cataloging-in-publication Data 12 12