/* DESC: This script can be used to write calling phone numbers * CR/LF terminated to the serial port. * * Copyright (C) 2017 NetModule AG, Switzerland (arg) */ DEV = "SERIAL1"; /* open serial port */ fd = nb_serial_open(DEV); if (fd < 0) { nb_syslog("Unable to open %s", DEV); exit(2); } ret = nb_serial_setattr(DEV, 115200, 8, 1, 0, 0); if (ret != 0) { nb_syslog("Could not set serial attributes on %s return code %i", DEV, ret); exit(3); } while (true) { msg = nb_voice_event(1).call.calling; // check event with 1sec timeout if (!is_void(msg)) { msg = left(msg, strlen(msg) - 5); // trim phone number msg = right(msg, strlen(msg) - 6); msg = strcat(msg, "\r\n"); len = strlen(msg); if (write(fd, msg, len) != len) { nb_syslog("Error on writing %d bytes to %s", len, DEV); close(fd); exit(4); } } } /* not reached */