--- mgetty-1.1.30.orig/voice/libvoice/Lucent.c 2001-04-13 04:01:44.000000000 -0700 +++ mgetty-1.1.30/voice/libvoice/Lucent.c 2003-09-07 14:58:41.000000000 -0700 @@ -66,6 +66,7 @@ static int Lucent_set_compression (int *compression, int *speed, int *bits) { + char buffer[VOICE_BUF_LEN]; reset_watchdog(); if (*compression == 0) @@ -86,7 +87,8 @@ return(FAIL); } - if (voice_command("AT+VSM=128", "OK") != VMA_USER_1) + sprintf(buffer, "AT+VSM=128,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) return(FAIL); break; @@ -100,8 +102,8 @@ return(FAIL); } - - if (voice_command("AT+VSM=129", "OK") != VMA_USER_1) + sprintf(buffer, "AT+VSM=129,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) return(FAIL); break; @@ -115,8 +117,8 @@ return(FAIL); } - - if (voice_command("AT+VSM=130,8000", "OK") != VMA_USER_1) + sprintf(buffer, "AT+VSM=130,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) return(FAIL); break; @@ -130,24 +132,27 @@ voice_modem_name, *speed); return(FAIL); } - if (voice_command("AT+VSM=131,8000", "OK") != VMA_USER_1) - return(FAIL); - - break; + sprintf(buffer, "AT+VSM=131,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) + return(FAIL); + + break; case 5: *bits = 4; - if ( *speed != 8000 ) + if ((*speed != 8000) && (*speed != 7200) && (*speed != 11025)) { lprintf(L_WARN, "%s: Illegal sample rate (%d)", voice_modem_name, *speed); return(FAIL); } - if (voice_command("AT+VSM=132,8000", "OK") != VMA_USER_1) - return(FAIL); - break; + sprintf(buffer, "AT+VSM=132,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) + return(FAIL); + + break; default: lprintf(L_WARN, "%s: Illegal voice compression method (%d)", --- mgetty-1.1.30.orig/voice/pvftools/pvftormd.c 2002-11-19 07:39:34.000000000 -0800 +++ mgetty-1.1.30/voice/pvftools/pvftormd.c 2003-09-07 14:11:26.000000000 -0700 @@ -535,12 +535,13 @@ { header_out.bits = 4; - if (header_in.speed != 8000) + if ((header_in.speed != 7200) && (header_in.speed != 8000) && + (header_in.speed != 11025)) { fprintf(stderr, "%s: Unsupported sample speed (%d)\n", program_name, header_in.speed); fprintf(stderr, - "%s: The Lucent only supports 8000 samples/second\n", + "%s: The Lucent only supports 7.2k, 8k and 11.025k samples/second\n", program_name); fclose(fd_out); --- mgetty-1.1.30.orig/voice/libvoice/V253modem.c 2002-11-25 13:14:51.000000000 -0800 +++ mgetty-1.1.30/voice/libvoice/V253modem.c 2003-09-11 08:40:51.000000000 -0700 @@ -177,26 +177,26 @@ case 2: /* 2bit ADPCM for some ELSA-modems */ { *bits = 2; - if (voice_command("AT+VSM=140,7200", "OK")!= VMA_USER_1) - { + sprintf(buffer, "AT+VSM=140,%d", *speed); + if (voice_command(buffer, "OK") != VMA_USER_1) + { /* there are two diffrent implementations trying one first, if this fails we try the other one later */ - Kompressionmethod = 129; - } - else - { - Kompressionmethod = 140; - } - *speed=7200; + Kompressionmethod = 129; + } + else + { + Kompressionmethod = 140; + } break; } case 4: /* 4bit ADPCM for some ELSA-modems */ { - if (voice_command("AT+VSM=141,7200", "OK")!= VMA_USER_1) + sprintf(buffer, "AT+VSM=141,%d", *speed); + if (voice_command(buffer, "OK")!= VMA_USER_1) { /* there are two diffrent implementations trying one first, if this fails we try the other one later */ - Kompressionmethod = 131; } else @@ -204,7 +204,6 @@ Kompressionmethod = 141; } *bits=4; - *speed=7200; break; } case 5: