реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Telit и входящий звонок
megajohn
сообщение Jul 9 2012, 10:42
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



споткнулся на ровном месте.
Дано:
девайс, по началу входящего звонка не поднимая трубку перещелкнуть релюшку

затык в определении когда вызвающий положил трубку.

То есть происходит так
<вызывающий звонит на устройство>
RING
+CLIP
(проходит 6 секунд)
RING
+CLIP
(проходит 6 секунд)
RING
+CLIP
(проходит 6 секунд)
<вызывающий положил трубку>

то есть нет никакого ассинхронного события по тому, как вызывающий положил трубу. Сейчас сделал тупо: по первому +CLIP выдаем в приложение событие о входящем звонке и внутреннему счетчику назначаем к примеру 10, и посекундно вычитаем до нуля. Как новый +CLIP и счетчик = 0 то это новый входящий звонок. Но бывают ситуации (к примеру по подключению по GPRS) где приложение выдает в модем команду и пока нет результата выполнения, модем не выдает в порт ассинхронные сообщения и соотвественно счетчик обнуляется и при текущем звонке ловим как бы новое событие.

Жаль что Extended Call Monitoring (AT#ECAM) тоже не видит отваливание вызвающего

Есть вариант 2:
по первому CLIP делать опрос CCLC и тут ловить. Но на кооперативной ОСьке = конечных автоматах это такой ужос городить надо


Есть еще варианты ?


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jul 9 2012, 11:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



CLCC конечно более правильно - оно на каждый чих меняется. Но если нет автовыдачи по изменению события, то тогда только опрашивать.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 9 2012, 14:28
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Если хотите точно знать в каком состоянии находится в данный момент модуль то других вариантов кроме периодического опроса CLCC нет.
Go to the top of the page
 
+Quote Post
sobr
сообщение Jul 9 2012, 16:16
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(=F8= @ Jul 9 2012, 21:28) *
Если хотите точно знать в каком состоянии находится в данный момент модуль то других вариантов кроме периодического опроса CLCC нет.

...Или использовать OpenAT
Go to the top of the page
 
+Quote Post
molecul
сообщение Jul 11 2012, 09:35
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(sobr @ Jul 9 2012, 20:16) *
...Или использовать OpenAT

В данной ситуации и Python'ом можно обойтись. Не бог весть какая сложная задача.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 11 2012, 09:41
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(molecul @ Jul 11 2012, 12:35) *
В данной ситуации и Python'ом можно обойтись. Не бог весть какая сложная задача.


А что CLCC позволит определить что трубка положена противоположной стороной?
И при установленном соединении тоже?
Go to the top of the page
 
+Quote Post
molecul
сообщение Jul 11 2012, 09:58
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(_Артём_ @ Jul 11 2012, 13:41) *
А что CLCC позволит определить что трубка положена противоположной стороной?
И при установленном соединении тоже?

+CLCC позволяет определить состояние вызова (при его наличии)
Соответственно, если
at+clcc

OK
то трубку повесили. Если до этого был RING, значит трубку повесила вызывающая сторона.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jul 11 2012, 10:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



О как.
Странно, а я всегда думал что в CLCC состояние показывает параметр <stat>.
Кстати у Telit не увидел stat = 6 Это как раз Disconnect

[+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>,<alphaID>]

<idx> 1..7 Call identification number
This number can be used in +CHLD command operations

<dir> 0 Mobile originated (MO) call
1 Mobile terminated (MT) call

<stat> State of the call:
0 Active
1 Held
2 Dialing (MO call)
3 Alerting (MO call)
4 Incoming (MT call)
5 Waiting (MT call)
6 Disconnect

<mode> Bearer/tele service:
0 Voice
1 Data
2 Fax

<mpty> 0 Call is not one of multiparty (conference) call parties
1 Call is one of multiparty (conference) call parties

<number> String type (string should be included in quotation marks) phone number in format specified by <type>.

<type> Type of address

<alphaId> String type (string should be included in quotation marks) alphanumeric representation of <number>
corresponding to the entry found
in phone book.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
molecul
сообщение Jul 11 2012, 10:32
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(CADiLO @ Jul 11 2012, 14:14) *
О как.
Странно, а я всегда думал что в CLCC состояние показывает параметр <stat>.
Кстати у Telit не увидел stat = 6 Это как раз Disconnect

[+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>,<alphaID>]

<idx> 1..7 Call identification number
This number can be used in +CHLD command operations

<dir> 0 Mobile originated (MO) call
1 Mobile terminated (MT) call

<stat> State of the call:
0 Active
1 Held
2 Dialing (MO call)
3 Alerting (MO call)
4 Incoming (MT call)
5 Waiting (MT call)
6 Disconnect

<mode> Bearer/tele service:
0 Voice
1 Data
2 Fax

<mpty> 0 Call is not one of multiparty (conference) call parties
1 Call is one of multiparty (conference) call parties

<number> String type (string should be included in quotation marks) phone number in format specified by <type>.

<type> Type of address

<alphaId> String type (string should be included in quotation marks) alphanumeric representation of <number>
corresponding to the entry found
in phone book.

Согласно ETSI TS 127 007, <stat> имеет только 5 состояний:
0 active
1 held
2 dialing (MO call)
3 alerting (MO call)
4 incoming (MT call)
5 waiting (MT call)

Так что 6 - это от лукавого wink.gif (Симкома то бишь)
Впрочем, этот спор уже с вами был полгода назад sm.gif
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jul 11 2012, 10:50
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Но операторы то его выдают.... Пусть и от лукавого, но оно существует и используется.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 20:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016