The symptoms are: In file included from app.c:21:0: /usr/include/asterisk/version.h:1:2: error: #error "Do not include 'asterisk/version.h'; use 'asterisk/ast_version.h' instead." app.c: In function 'app_register': app.c:162:3: warning: passing argument 2 of 'ast_register_application2' from incompatible pointer type [enabled by default] In file included from app.c:20:0: /usr/include/asterisk/module.h:458:5: note: expected 'int (*)(struct ast_channel *, const char *)' but argument is of type 'int (*)(struct ast_channel *, void *)' make: *** [app.o] Error 1 Solution: Download patched sources autoconf and autmake should be installed uzip sources cd to unzipped folder issue commands: aclocal, autoconf, automake -a install chan_dongle as usual ./configure, make, make install. then I got next error # sudo make install ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands strip chan_dongle.so /usr/bin/install -c -m 755 chan_dongle.so /usr/bin/install: missing destination file operand after `chan_dongle.so' Try `/usr/bin/install --help' for more information. make: *** [install] Error 1 Error because on chan_dongle installed on 64 bit OS. In that case DESTDIR should be: DESTDIR="/usr/lib64/asterisk/modules after that you can run asterisk console and load module: CLI> module load chan_dongle.so but then next error comes: WARNING[24644]: chan_dongle.c:218 opentty: unable to open /dev/ttyUSB2: Permission denied that because of wrong permissions. That usually happens when asterisk running in non root mode. Set the correct permissions to /dev/ttyUSB #chmod 666 /dev/ttyUSB* after all chan_dongle is up and runnin, but after adding second dongle, problem with permissions comes back. The silution is to set permission automatically. Create file in /etc/udev/rules.d/92-dongle.rules and add KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="uucp"