Open GoogleCodeExporter opened 9 years ago
Also tried with:
Report: True
and
Report: 1
Same thing. What am I doing wrong ?
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 10:45
did you check if the PDU sent has bit delivery on?
Original comment by pag...@gmail.com
on 10 Mar 2011 at 3:38
how can I see what pdu does it send ?
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 3:42
backup-mirror*CLI> [2011-03-10 17:53:48] DEBUG[13513]: at_queue.c194 at_write:
[datacard3] [0031000B910467905092F40000A90BE8329BFD06DDDF723619^Z]
So it seems it does, how/where do I see the delivery report ?
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 3:58
whats show
'manager show commands'
and
'manager show command DatacardSendSMS'
?
Original comment by bg_...@mail.ru
on 10 Mar 2011 at 4:31
so .. now support for delivery report ?
backup-mirror*CLI> manager show commands
Action Privilege Synopsis
------ --------- --------
WaitEvent <none> Wait for an event to occur.
QueueReset <none> Reset queue statistics.
QueueReload <none> Reload a queue, queues, or any sub-section of a queue o
QueueRule <none> Queue Rules.
QueuePenalty agent,all Set the penalty for a queue member.
QueueLog agent,all Adds custom entry in queue_log.
QueuePause agent,all Makes a queue member temporarily unavailable.
QueueRemove agent,all Remove interface from queue.
QueueAdd agent,all Add interface to queue.
QueueSummary <none> Show queue summary.
QueueStatus <none> Show queue status.
Queues <none> Queues.
MuteAudio system,all Mute an audio stream
VoicemailUsersL call,reporting, List All Voicemail User Information.
DatacardReload system,config,r Reload a module configuration.
DatacardRemove system,config,r Remove a datacard.
DatacardStart system,config,r Start a datacard.
DatacardStop system,config,r Stop a datacard.
DatacardRestart system,config,r Restart a datacard.
DatacardReset system,config,r Reset a datacard.
DatacardSetCCWA system,config,r Enable/Disabled Call-Waiting on a datacard.
DatacardSendSMS system,config,r Send a sms message.
DatacardSendUSS system,config,r Send a ussd command to the datacard.
DatacardShowDev system,config,r List Datacard devices
MixMonitorMute <none> Mute / unMute a Mixmonitor recording.
PlayDTMF call,all Play DTMF signal on a specific channel.
IAXregistry system,reportin Show IAX registrations.
IAXnetstats system,reportin Show IAX Netstats.
IAXpeerlist system,reportin List IAX Peers.
IAXpeers system,reportin List IAX peers.
AgentLogoff agent,all Sets an agent as no longer logged in.
Agents agent,all Lists agents and their status.
LocalOptimizeAw system,call,all Optimize away a local channel when possible.
SIPnotify system,all Send a SIP notify.
SIPshowregistry system,reportin Show SIP registrations (text format).
SIPqualifypeer system,reportin Qualify SIP peers.
SIPshowpeer system,reportin show SIP peer (text format).
SIPpeers system,reportin List SIP peers (text format).
AGI agi,all Add an AGI command to execute by Async AGI.
JabberSend system,all Sends a message to a Jabber Client.
UnpauseMonitor call,all Unpause monitoring of a channel.
PauseMonitor call,all Pause monitoring of a channel.
ChangeMonitor call,all Change monitoring filename of a channel.
StopMonitor call,all Stop monitoring a channel.
Monitor call,all Monitor a channel.
DBDelTree system,all Delete DB Tree.
DBDel system,all Delete DB entry.
DBPut system,all Put DB entry.
DBGet system,reportin Get DB Entry.
Bridge call,all Bridge two channels already in the PBX.
Park call,all Park a channel.
ParkedCalls <none> List parked calls.
ShowDialPlan config,reportin Show dialplan contexts and extensions
AOCMessage aoc,all Generate an Advice of Charge message on a channel.
ModuleCheck system,all Check if module is loaded.
ModuleLoad system,all Module management.
CoreShowChannel system,reportin List currently active channels.
Reload system,config,a Send a reload event.
CoreStatus system,reportin Show PBX core status variables.
CoreSettings system,reportin Show PBX core settings (version etc).
UserEvent user,all Send an arbitrary event.
UpdateConfig config,all Update basic configuration.
SendText call,all Send text message to channel.
ListCommands <none> List available manager commands.
MailboxCount call,reporting, Check Mailbox Message Count.
MailboxStatus call,reporting, Check mailbox.
AbsoluteTimeout system,call,all Set absolute timeout.
ExtensionState call,reporting, Check Extension Status.
Command command,all Execute Asterisk CLI Command.
Originate originate,all Originate a call.
Atxfer call,all Attended transfer.
Redirect call,all Redirect (transfer) a call.
ListCategories config,all List categories in configuration file.
CreateConfig config,all Creates an empty file in the configuration directory.
Status system,call,rep List channel status.
GetConfigJSON system,config,a Retrieve configuration (JSON format).
GetConfig system,config,a Retrieve configuration.
Getvar call,reporting, Gets a channel variable.
Setvar call,all Set a channel variable.
Ping <none> Keepalive command.
Hangup system,call,all Hangup channel.
Challenge <none> Generate Challenge for MD5 Auth.
Login <none> Login Manager.
Logoff <none> Logoff Manager.
Events <none> Control Event Flow.
DataGet <none> Retrieve the data api tree.
backup-mirror*CLI> manager show command DatacardSendSMS
Action: DatacardSendSMS
Synopsis: Send a sms message.
Privilege: system,config,reporting,all
Description: Send a sms message from a datacard.
Variables: (Names marked with * are required)
ActionID: <id> Action ID for this transaction. Will be returned.
*Device: <device> The datacard to which the sms be send.
*Number: <number> The phone number to which the sms will be send.
*Message: <message> The sms message that will be send.
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 4:35
where you find
Validity:
and
Report:
paraments?
Original comment by bg_...@mail.ru
on 10 Mar 2011 at 4:43
manager.c @ Line: 168
static int manager_send_sms (struct mansession* s, const struct message* m)
{
const char* device = astman_get_header (m, "Device");
const char* number = astman_get_header (m, "Number");
const char* message = astman_get_header (m, "Message");
const char* validity= astman_get_header (m, "Validity");
const char* report = astman_get_header (m, "Report");
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 4:45
if it's not documented, it doesn't mean it's not in the source code .. I can
see it calling sms_send with "report" set ..
if (ast_strlen_zero (device))
{
astman_send_error (s, m, "Device not specified");
return 0;
}
if (ast_strlen_zero (number))
{
astman_send_error (s, m, "Number not specified");
return 0;
}
if (ast_strlen_zero (message))
{
astman_send_error (s, m, "Message not specified");
return 0;
}
msg = send_sms(device, number, message, validity, report, &status, &msgid);
.. and so on ..
So, I don't get it .. doesn't the modem support it ? If I manually send a PDU
with SRR ...
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 4:53
no way to send raw PDU.
Modem send PDU as-is unmodified to SC.
Original comment by bg_...@mail.ru
on 10 Mar 2011 at 6:18
Well the thing is that it seems the "delivery report request" bit is set on ...
what happens with the report ?
Original comment by dex...@d3xt3r01.tk
on 10 Mar 2011 at 7:18
i think report not shown to chan_datacard
Original comment by bg_...@mail.ru
on 11 Mar 2011 at 5:44
So it's a "hardware issue" ? The datacard itself ( firmware maybe ) doesn't
present the delivery reports it receives ? I don't get it ...
Original comment by dex...@d3xt3r01.tk
on 11 Mar 2011 at 6:34
we need check this
Original comment by bg_...@mail.ru
on 13 Mar 2011 at 10:26
Ok, more debugging/testing got me to these results....
I got a serial port monitor ( software ) and tried to see what the mobile
partner does when checking the box "reques delivery report" .. nothing special
really ! the pdu is generated just as ours would ..
mobile partner does an AT+CSCA? to find out the smsc first to integrate it in
the pdu
the delivery report is a simple message that has the delivery report bit set
on... with some info ..
now .. the way I see it .. datacard should be like this
- when trying to send a message -
when sending the message it should implement the smsc number in the pdu
then set the srr bit on ( which it does I think .. )
then .. the reply (number) from +CMGS is a reference ... ( which should be
attached to the queue number )
the delivery report tells us what happens with that message ! and should pop up
an event "message delivered to final recipient" when received ...
I know it's alot of work but .. it would be the most complete thing ever ..
this + those sms bugs .. :D
Original comment by dex...@d3xt3r01.tk
on 18 Mar 2011 at 4:00
Original issue reported on code.google.com by
dex...@d3xt3r01.tk
on 10 Mar 2011 at 10:22