SMS mit Asterisk

So, jetzt funktioniert es immerhin schon so weit das etwas passiert. Nur leider noch nicht das was ich mir vorgestellt habe. :)

Statt eine SMS zu senden ruft mein asterisk ganz frech mein Telefon an und gibt dann nichts weiter von sich. Ich lege dann auf und asterisk scheint auch ganz zufrieden damit zu sein. Auf der Konsole steht nämlich folgendes:

Code:
    -- Attempting call on ZAP/1/120651 for 120651@smsdial:1 (Retry 1)
  == Primary D-Channel on span 1 up for TEI 64
       > Channel Zap/1-1 was answered.
    -- Executing SetAccount("Zap/1-1", "SMS") in new stack
    -- Executing Answer("Zap/1-1", "") in new stack
    -- Executing SMS("Zap/1-1", "default||120651|") in new stack
    -- Executing SMS("Zap/1-1", "default") in new stack
    -- Channel 0/1, span 1 got hangup
    -- Hungup 'Zap/1-1'
Jul 24 16:07:12 NOTICE[3056]: pbx_spool.c:242 attempt_thread: Call completed to ZAP/1/120651
  == Primary D-Channel on span 1 down for TEI 64

Um die SMS zu senden habe ich folgende call Datei erstellt und nach /var/spool/asterisk/outgoing kopiert:
Code:
Channel: ZAP/1/120651
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: smsdial
Extension: 120651
Priority: 1
SetVar: MSG=Hallo

Wäre toll wenn jemand ne Idee hätte wie er meinen asterisk-server (oder mich) zur Vernunft bringen kann :wink:
 
*DAU schrieb:
Statt eine SMS zu senden ruft mein asterisk ganz frech mein Telefon an und gibt dann nichts weiter von sich. Ich lege dann auf und asterisk scheint auch ganz zufrieden damit zu sein.

Asterisk muss ja Dein Telefon anrufen. Wie sollte sonst die SMS dahin kommen. Normalerweise erkennt das Telefon an der CallerID die SMS-Zentrale, und signalisiert das Gespräch erst garnicht. Also, entweder Du hast die Nummer der SMS-Zentrale nicht in deinem Telefon gespeichert, oder Asterisk überträgt die falsche. Die Callerid musst Du natürlich im call-File angeben.
 
Super, vielen Dank! Mit smsq funktioniert es jetzt wenn ich den Parameter --motx-callerid angebe. Nur wie gebe ich diesen Parameter in dem call File an (CallerID: nnnnnn funktioniert nicht)? Oder noch besser weiß jemand wo die möglichen Parameter in einem call File dokumentiert sind?

Noch ein kleines Problem: Wenn ich die Nachricht mit smsq sende zeigt mein Telefon ganz kurz an "SMS wird übertragen...". Es wird aber keine übertragen. Ich verwende den Befehl smsq --motx-callerid "090032669001" --motx-channel "Zap/1/120651" -m "Test"

Habe ich wichtige Parameter vergessen?

@Hupe
Du hast weiter oben geschrieben das du das selbe Problem hattest:
So, ich hab es jetzt mal ein bischen getestet. Allerdings ohne Erfolg. Das sms-Programm nimmt wohl ab, und in der Console erscheint folgendes:
...
Ok, senden geht doch. Super!

Wie hast du das Problem gelöst? Ich bekomme exakt die selbe Meldung:

Code:
Verbosity is at least 4
    -- Remote UNIX connection
       > Channel Zap/1-1 was answered.
       > Lauching SMS(0) on Zap/1-1
    -- SMS RX 93 00 6D 00 00 00...
    -- SMS TX 94 00 6C 00 00 00...
    -- Hungup 'Zap/1-1'
Jul 24 17:33:11 NOTICE[3311]: pbx_spool.c:242 attempt_thread: Call completed to Zap/1/120651
  == Primary D-Channel on span 1 down for TEI 64
 
Hallo zusammen,

ich habe immer noch das Problem das am Telefon keine SMS ankommt, obwohl dieses anzeigt "SMS wird übertragen...". Mein call-File sieht jetzt folgendermaßen aus:

Code:
Channel: ZAP/g1
Callerid: SMS <090032669001>
Application: SMS
Data: 0|s
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: smsdial
Extension: 120651
Priority: 1
SetVar: MSG=Hallo

Den Meldungen auf der Konsole nach müsste alles korrekt sein (siehe voriger Beitrag). Ist da vielleicht doch noch ein Fehler drin?
 
Ja, ein ähnliches Problem hatte ich auch mal, als ich versuchte eine SMS über sip (gate) zu verschicken. Versuche mal folgendes:
Ruf mal von einem Sip-Client (oder anderen Telefon) über Asterisk auf dem SMS-Telefon an. Dabei sollte Deine Callerid s eingestellt sein, dass dein SMS-Telefon den Sip-Client (oder das andere Telefon) für die SMS-Zentrale hält.
Solltest folgendes feststellen:
a) das Telefon nimmt ab, noch bevor es klingelt (also ziemlich schnell)
b) du solltest einen kurzen Piepton hören, direkt nachdem das Telefon abgenommen hat (wennD en Ton bei ersten mal nich hrst, dann solltest du es nochmal probieren).

Der Ton ist das Startsignal für die SMS-Zentrale, dass die SMS losgesendet werden kann. Leider kommt es vor, dass (z.B. durch das echotraining etc pp) es beim Verbindungsaufbau eine Verzögerung gibt. Dadurch wird der Piepton "verschluckt", vodurch die SMS-Zentrale nicht beginnt die Nachricht zu senden (wobei es dann bei Asterisk so aussehen kann....). Leider wird dieser Ton (wie es ihn auch bei Faxen diebt) nicht nochmal gesendet. Wenn Du den Ton hörst, dann sollte aber alles funzen.
Wenn Du den Ton hörst, dannliegt es wenigstens nicht daran.
Ach ja, wenn es bei Zap-Channeln ne Echounterdrückung gibt, dann solltest Du die mal abstellen.
 
Vielen Dank für die ausführliche Antwort. Ich habe das gerade mal ausprobiert. Der besagte Ton kommt zwei mal hintereinander, hört sich aber irgendwie seltsam an. Ich habe das mal aufgezeichnet. Wäre nett wenn du dir das mal anhören könntest und mir sagst ob es bei dir genau so klingt. echo-cancel habe ich deaktiviert, eine SMS wird aber trotzdem nicht übertragen obwohl das Telefon dies anzeigt und abnimmt bevor es klingelt, so wie es ja auch sein soll.

Sind vielleicht noch weitere Einstellungen in meiner zapata.conf falsch?
Code:
[channels]
switchtype=euroisdn
signalling=bri_net_ptmp
pridialplan=local
prilocaldialplan=local
echocancel=no
overlapdial=yes
immediate=no
usecallerid=yes
group=1
context=trusted
musiconhold=default
mailbox=1000
channel=>1-2
 

Anhänge

  • sms.mp3
    52.9 KB · Aufrufe: 47
Bei mir kam der Ton immer nur einmal. MOH da zu spielen ist vielleicht auchnicht so intelligent, oder? Mit HFC kenne ich mich leider nicht aus.
Vielleicht liegt es auch an der Qualität der Verbindung.
Man kann doch auch mit Asterisk einen Channel aufzeichnen! Versuch doch das mal. Dann kannst Du auch hören, ob Asterisk wirklich versucht eine SMS zu senden.
 
MOH kommt ja nur bei dem Testanruf. Vielleicht habe ich da was falsch verstanden. Also ich dachte ich sollte mit dem Anruf nur kontrollieren ob der besagte Ton vom Telefon gesendet wird. Dazu habe ich mit meinem Softphone (X-Lite) das Telefon angerufen nachdem ich es als SMS-Center konfiguriert habe. Wenn ich mit dem call-File oder smsq wirklich eine SMS sende dürfte ja kein MOH kommen (wenn doch wie stelle ich das aus?).

Die direkte Verbindung vom asterisk zum Telefon über zapata müsste doch immer optimal sein oder? Es hängt ja kein SMS-Center oder irgendeine andere externe Verbindung dazwischen. Ach ja, da mein Telefon analog ist hängt eine Fritz Box Fon dazwischen (ist natürlich überdimensioniert wenn man eh asterisk verwendet aber ich hatte die halt noch von früher).

Man kann doch auch mit Asterisk einen Channel aufzeichnen! Versuch doch das mal. Dann kannst Du auch hören, ob Asterisk wirklich versucht eine SMS zu senden.

Wie meinst du das? Ich habe das mit dem Monitor-Befehl aufgezeichnet. Anschließend werden die Wav-Dateien mit dem bekannten Skript 2wav2mp3 zusammengefügt (lame).
 
Du hattest das cshon richtig verstanden! Und das mit dem MOH war n Denkfehler von mir...
Vielleicht ragiert ja der Asterisk nicht auf das Piepsen von deinem Telefon. Die Verbindung vom Asterisk zum Telefon über HFC sollte zwar gut genug sein, aber mna kann ja nie wissen.Daher mein Vorschlag, den Versuch von Asterisk mal mit zu Monitoren. Dann müsste man hören können, ob asterisk auf den Piepton des telefones reagiert, mit dem SMS verschicken beginnt.
 
Mach ich gern wenn du mir sagst wie. Also bei dem Testanruf hatte ich das mit einem Aufruf von "Monitor" in der extensions.conf gemacht. Aber wie kann ich eine Übertragung via smsq oder call-File monitoren? Ich hab es jetzt damit versucht meine extensions.conf wie folgt zu ergänzen:

Code:
[smsdial]
exten => _X.,1,Monitor(wav,SMS,tTr)
exten => _X.,2,SMS(${CALLERIDNUM},s,${EXTEN},${CALLERIDNAME})
exten => _X.,3,SMS(${CALLERIDNUM},s)
exten => _X.,4,Hangup

Aufgezeichnet wird aber nix. Sorry, ich kenne mich noch nicht so gut aus mit asterisk.
 
Naja, aufgezeichnet habe ich aich noch nie sowas.muss ich mir mal ansehen!
 
Ich komme übrigens an der gleichen Stelle nicht weiter. Ich vermute da ist noch ein Syntaxfehler im Callfile. Bei über 20 Versuchen hat es einmal geklappt, bin mir aber nicht sicher, ob ich da eine Änderung hatte, die ich wieder Rückgängig gemacht habe.

jo

EDIT: Gut, dass wir darüber gesprochen haben, Callfile und extension passen in dem Beispiel nciht zusammen:

Code:
Channel: ZAP/1/925566
Callerid: "Asterisk SMS" <01930101>
#Application: SMS
#Data: a|s
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: smsdial
Extension: 584872
Priority: 1
SetVar: MSG="Hallo sollte es jetz endlich mal klappen?"

Code:
[smsdial]
exten => _X.,1,SMS(${CALLERIDNUM},s,${EXTEN},${MSG})
exten => _X.,2,SMS(${CALLERIDNUM},s)
exten => _X.,3,Hangup

Damit klappt es zuverlässiger, Probleme haeb ich nur, wenn ich zwei SMS kurz hintereinander losschicke.
 
Doch Rolle, so sollte es gehen. Hab das mal genauso gemacht. Und es funzte jedes mal. Vielleicht ist das Problem auch woanders: Es könnten timing-Probleme sein. Sowas gibt es auch bei spandsp. Wenn es bei 20 mal einaml klappt dann würde ich eher auf sowas tippen. Ich probiere es aber nochmal aus....
 
War vielleicht nicht ganz klar mit meinem Edit, mit der von mir geposteten Konfig klappt es jetzt ;)

jo
 
Jo, bei mir klappt es damit auch immernoch :)
Interessant wäre sowas mal über sip oder IAX hin zu bekommen. Aber meine letzten Versuche sin aus vorher geschildertem Problem ja fehlgeschlagen.
 
Super, jetzt klappt es auch bei mir :phone:

Besten Dank für den Hinweis rollo. Noch mal für alle Mitleser: Im smsdial-Kontext habe ich statt der Nachricht ${MSG} den Parameter ${CALLERIDNAME} angegeben. Da dieser wohl nicht gesetzt war wurde auch nix übertragen. :oops:

Nochmals vielen Dank an alle für die Unterstützung.
 
wie leite ich eine vom festnetz empfangene sms zusätzlich als maill an weiter ohne die weiterleitung an das telefon zu unterbinden? der sms provider identifiziert sich als 01930100. immo nimmt das telefon die sms automatisch an. ich möchte die sms aber auch von unterwegs per mail lesen können.
 
ich habe ein Siemens Gigaset S100, an * angebunden über einen HT-286 von Grandstream. Ist über diesen SIP Zwischenschritt auch SMS-Empfang und Versand möglich?
 
sms lokal zum festnetztelefon geht nun, nur zum mobiltel wird als absender die lokale festnetznummer übertragen und nicht die mobil-smszentrale, drum wird die sms als normaler anruf erkannt und es klingelt nur und erkennt die sms nicht als sms.
 
Hallo,

ich habe die letzten Skripte von Rollo kopiert. Aber leider ruft mich jetzt * an statt mir eine SMS zu schicken...
Was mache ich falsch?

Code:
[smsdial]
exten => _X.,1,SMS(${CALLERIDNUM},s,${EXTEN},${MSG})
exten => _X.,2,SMS(${CALLERIDNUM},s)
exten => _X.,3,Hangup

Code:
Channel: CAPI/contr1/001795340899
Callerid: "Asterisk SMS" <947719>
#Application: SMS
#Data: a|s
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: smsdial
Extension: 90
Priority: 1
SetVar: MSG="Hallo sollte es jetz endlich mal klappen?"

Und wo oder wie kann ich die SMS-Zentrale einstellen?


Danke,
Tucca
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.