Author: Zoleg
Posted: Wed Jan 04, 2012 20:12 (GMT 1)
Всегlа все делаю на PHP и даже не парюсь. А тут понадобилось встроить прямо в программу, написанную на Си, определение оператора с которого идет звонок и это передать в недра программули, ну заодно получить это в диалплане. Агишная часть работает без проблем. А вот поработать с передаваемыми данными не получается. Тот человек который прогу писал уехал кататься на лыжах и недоступен почти до конца месяца, а всунуть это нужно. Я нашел в исходниках куда нужное передать. И больше ничего не могу сделать. Пробовал через IF но проблема не решилась. порядок 099 не воспринимается ну ни как. Пробовал и через ctrcopy и еще разные способы – сдался. Без сторонней помощи ну никак.
Наверно нужно более четко поставить задачу с которой я не могу справиться.
Нужно прочитать первые три символа аргумента, найти совпадение их с кодом оператора (который начинается с 0 например 063), если совпадений нет по сотовым, но есть совпадение с первыми цифрами области (041), тогда прочитать четыре первые цифры и найти совпадение с кодом конкретного города в этой облачти (который тоже начинается с 0 например 04143).
Если вообще все сократить, то нужно сделать всего как то так:
| Code: |
int main(int argc, char * argv[]) {
}
/*–Определяем оператора связи opsos — */
switch (argv[2]){ /* Эта хрень точно не работает, возможно нужно решать по другому */
case "099":
чейто делаем
break;
case "041":
/* TODO
* ПСЕВДОКОД
* Set(GLOBAL(OPCODE)=${CID:0:4}) //По всей видимости отдельная функция
* char opsos = gts_search(OPCODE)
*
* чейто делаем
*/
break;
}
break;
} |
_________________
"Все для такси": специальные бесшумные серверы (1U-3U 12 вольт, 8-35 ват на двухядерном Intel), АТС Астериск, автоматизация диспетчерских, Java на мобилу.
CDMA модемы ZTE AC8710/АС5710+libcdma+chan_dongle+Asterisk = много городских телефонов! (поставлю форумчанам).
Украина:
Teл. +38 041-432-32-97
Моб. +38 063-966-62-40
Перейти к источнику