keywords: ip pbx voip gateway gsm gateway

×

Notice

The forum is in read only mode.
× Questions about G400/G410 Cards.

Direct modem communication

13 years 2 months ago #6654 by Easy
Hi all

Is there a way to communicate with the modems on the G400P board directly through some kind of "COM" port or smf? It would give me much more control on my SMS sending than now using asterisk...

Algirdas Brazas
13 years 2 months ago #6658 by Jessie.liao
Hi,
There isn't.
This component element isn't welded on the board.

13 years 1 month ago #6702 by krzysioD
Just use 'chan-extra' but WITHOUT any asterisk or other soft-switch, one disadvantage: no asterisk, no voice calls...

The great whould be if it's a AT+... for voice, put it into asterisk only, if for SMS, put it to some smstools-like package.
Note: i use some of G400P as sms-out only, and block incoming calls on GSM level before i put SIM cards into production.
So-called 'low cost' sms gateway.

i] Last edited by krzysioD at 2011-3-5 06:03 [/i
13 years 1 month ago #6703 by Easy
Could You give some more info on that? Ar those modems available just like COM ports? Some kind of terminal?The thing I really need is indeed SMS gateway :D
You say, You're using some G400P for that. I have a question - how many sms per hour do You send maximum?
13 years 1 month ago #6704 by krzysioD
use simple thing:
treat as serial: /dev/dahdi/N where N is 1...4,5..8,9..12, 13..16 (i haven't used more than 4 with 4 sims each).
more info on
http://www.chan-extra.org/svn/chan_extra/trunk/src/libgsmat/gsm.c

http://www.chan-extra.org/svn/chan_extra/trunk/src/libgsmat/e169.c

see code:
int e169_send_sms(struct gsm_modul *gsm, char *destination, char *message) {
                snprintf(buf, sizeof(buf) - 1, "AT+CMGS=\"%s\"\r\n", destination);
As for "per hour" depends on GSM carrier one sms is from 3s to 27s to send, plus 2s-20s to wait for "modem ready" at each sms, and check for incoming, also when people try to recall this number, it slows down (it's somehow obvious that it will cause slow-downs) so i count like one channel is up to 600 messages per hour, some times i've got only 300, it all depends on other GSM traffic, for example on 24th of December (Christmas 'best wishes' to send to many customers) was slower then 200 sms. I don't do any special statistics, simply when it's too slow i don't send more sms in this day. I start at 8 and stop 20 (weekdays) and 9 to 14 on Saturdays.
I'm interested in your performance. I've used GSM phone like 6310i with RSR232c and it was slower.

Detailed statistics: (i use smsd.log file):
time -- how many times
4 sec -- 5 times
5 sec -- 1843 times
6 sec -- 2467 times
7 sec -- 796 times
8 sec -- 58 times
9 sec -- 9 times
10 sec -- 33 times
11 sec -- 97 times
12 sec -- 33 times
13 sec -- 13 times
14 sec -- 4 times
15 sec -- 7 times
16 sec -- 8 times
17 sec -- 28 times
18 sec -- 8 times
19 sec -- 1 times
20 sec -- 4 times
22 sec -- 2 times
23 sec -- 4 times
24 sec -- 10 times
25 sec -- 6 times
up to: 35 sec -- 0 (i accumulate times 25... 35 s)
up to: 45 sec -- 3 (here 35 ... 35 s)
up to: 55 sec -- 1
up to: 65 sec -- 4
up to: 75 sec -- 28
up to: 85 sec -- 34
up to: 95 sec -- 13
up to: 105 sec -- 2
up to: 115 sec -- 3
cc:/var/log# grep sending\ time smsd.log | awk ' { A[$12]++; } END { for (i=1; i<600; i++) { if (i<=25) {if (A != 0) print i " sec -- " A " times "} else { B[j]+=A; if (i%10==0) j++; }; } for(k=1; k<10; k++) { print "up to: " k*10+25 " sec -- " B[k];} } '

So we could assume 6-7 secs average and sometimes even 2 minutes but it only for 3 sms messages.

Note: i try to redirect gsm sim card by phone to some unextistent number (giving the right cause code in ISDN 'no such number' so end-customer will never get any voice prompt and never be charged for that call :loveliness:.
It's also good to use only same set of gsm cards for same 'company' as I could send smses for many companies, but one end-user could receive many sms messages from me.
I handle incoming sms also by customized sms tools (i changed the serial routine to not complain about the /dev/dahdi/N name of serial port etc...). I plan to put a "two-way" driver:

That is taking messages from /dev/realdahdi/N and redirecting all messages to smstools, but some messages (like VOICE) to /dev/fakedahdi/N and have asterisk there ready to playback some message like 'to contact company X please use phone number found on www, that is .... ". But this is log-range future as not so many companies want to pay for this.

Also see:
2010-11-20 14:19:45,6, GSM2: Checking memory size
2010-11-20 14:19:45,7, GSM2: <- +CPMS: "SM",0,30,"SM",0,30,"SM",0,30 OK

But with diffrent SIM:
GSM14: <- +CPMS: "SM",1,25,"SM",1,25,"SM",1,25 OK

So, every send attempt i try to grab incoming SMS, firtst checking for SMS memory size on SIM as it could change.
I tried to speed up the baud rate to speed up sending, but it gives me extra 1% speed up with two-three times more sending errors, so i don't try to speed up, i put many cards, they are not so expensive...

Note: no problem in having 4 of G400P4 in one BOX :>




i] Last edited by krzysioD at 2011-3-6 22:12 [/i
13 years 1 month ago #6707 by lisa.gao
Hi krzysioD,We have been devoting ourselves to improve SMS simulation, it is in progress. It will release on Wednesday. I'll let you know then. You said: and block incoming calls on GSM level before i put SIM cards into production.I need to know more details. Incoming calls doesn't work normally? Please show me the log when you make incoming call.

i] Last edited by lisa.gao at 2011-3-7 09:42 [/i

Time to create page: 0.053 seconds
Powered by Kunena Forum