Connecting non-VOIP device to Asterisk


I am working with a customer who is running Asterisk 12.8.2 using chan_sip to support softphones. Basically they are running a homegrown BFCP server on a laptop they want to connect to asterisk so the clients can communicate with it. i.e. get a call going, then SIP info goes to port 5060 while BFCP info goes to say port 7000. So is there a way to connect a non voip device to Asterisk? I am hoping Asterisk has the concept of a passthrough channel that I can connect to it and any data sent to this socket is just passed through. So far I have found nothing and looking through the code doesn’t give me any indication such a beast exists. Any suggestions? Hacks?


This doesn’t exist in Asterisk, there is no passthru functionality for protocols or packets it does not understand.

Thanks for the confirmation. So I guess the “correct” way to do this would be to create a new channel type? If so, is there any documentation for creating a new channel type?

BFCP is negotiated over the SDP, so you’d have to modify the SIP channel driver to understand it, then modify Asterisk to pass it through, then put something on the other side to communicate to the server. This isn’t documented because it’s not something anyone commonly does.

Wow, impressive service. Thanks. I almost have the changes done for the SIP SDP portion, but as part of that BFCP negotiates which TCP port to send protocol messages to such as FloorRequest, HelloAck, etc… That is where I am stuck. So the client will know that if I want to request a floor, send a FloorRequestMsg to this address/port. But I don’t know how to have that PC connected to Asterisk with that port so the message will arrive.

You would need to write it into Asterisk to listen on that TCP port and handle traffic.

Or, you would need to somehow communicate with the other PC to issue you a port and IP address and pass it back in the SDP.