Use SCTP to Forwarld TCP data

i'm try to make the application, it need to forwarding TCP packet. but my code is dos't work(when receive the TCP data ,it won't sending the receive data form sctp socket), i don't know why?

while(1){
FD_ZERO(&fds);
maxfdp=-1;
for(i_fdls=fdls.begin();i_fdls!=fdls.end();i_fdls++){
    FD_SET(*i_fdls,&fds);
    maxfdp=(*i_fdls>maxfdp?*i_fdls:maxfdp);
}
switch(select(maxfdp+1,&fds,NULL,NULL,NULL)){
    case -1: 
        exit(-1);
        break; 
    case 0:
        break;
    default:
        for(i_fdls=fdls.begin();i_fdls!=fdls.end();i_fdls++){
            if(FD_ISSET(*i_fdls, &fds)){
                if(*i_fdls==c_tcp.socket_fd){
                    memset(buff, 0, sizeof(buff));
                    recv_size=recv(c_tcp.socket_fd,buff,sizeof(buff),0);
                    sctp_sendmsg(_sctp_cmd.socket_fd,&buff,sizeof(buff),
                            (struct sockaddr *)&c_sctp_cmd.addr,
                            c_sctp_cmd.addr_len,
                            c_sctp_cmd.snd_rcv_info.sinfo_ppid,
                            c_sctp_cmd.snd_rcv_info.sinfo_flags,
                            c_sctp_cmd.snd_rcv_info.sinfo_stream,0,0);
                }
                if(*i_fdls==_sctp_cmd.socket_fd){
                    memset(buff, 0, sizeof(buff.content_d.content));
                    recv_size=sctp_recvmsg(*i_fdls,&buff,sizeof(buff),
                                                (struct sockaddr *)&c_sctp_cmd,
                                                &c_sctp_cmd.addr_len,
                                                &c_sctp_cmd.snd_rcv_info,
                                                &c_sctp_cmd.msg_flag);
                        send(c_tcp.socket_fd,buff,sizeof(buff),0);
                    }
                }
            }   
        }
}

}