PJSUA als SIP-Client...

rethus

Neuer User
Mitglied seit
7 Jul 2007
Beiträge
137
Punkte für Reaktionen
0
Punkte
16
Ich hab mir von PJSUA die SOurcen runtergeladen, und diese nach /usr/src/packages/SOURCES [unter SUSE 10.2] entpackt.

habe das Paket kompiliert, und installiert [mit make install].
Seltsamerweise steht mir jetzt aber in der Konsole immer noch kein pjsua zur Verfügung.

Kann mir jemand sagen, wie ich pjsua richtig installiere und nutze?
 
Ja, die offizielle Doku ;)
http://www.pjsip.org/using.htm

Dein Knackpunkt ist warscheinlich, das dein Programm sich nicht in die "normalen" Programmorder installiert welche in der Path-Variable stehen. Daher musst du den kompletten Pfad des Binaries aufrufen. Irgendwo im soruce-Ordner wurde ein neuer Ordner mit den Binaries erstellt.

BTW: Das ist wohl kein Asterisk Thema, daher --> Mods, bitte verschieben ;)
 
Ahh, ok... wer lesenkann ist klar im Vorteil:

you can try running pjsua application on pjsip-apps/bin directory.

Danke für den Hinweis.

Nun habe ich pjsua mal gestartet, aber irgendwie wählt er sich nicht dauerhaft bei asterisk ein.

Ich habe es so aufgerufen
./pjsua-i686-pc-linux-gnu --local-port=5061 --username=name --password=secret sip:[email protected]

Er geht dann zwar in diesen pjsua mode, aber schreibt:
You have 1 active call
19:56:59.448 pjsua_app.c Call 0 is DISCONNECTED [reason=404 (Not Found)]
>>> 19:57:04.474 sound_port.c EC suspended because of inactivity

Der Asterisk schreibt derweil:
[Aug 24 19:56:59] NOTICE[25574]: chan_sip.c:14035 handle_request_invite: Call from '' to extension '100' rejected because extension not found.

Jemand einen Tipp, woran das liegt? Ich scheine zumindest sehr nah dran zu sein :-)
 
Also ich kenne das Programm nicht. Aber es sieht so aus als wenn du versucht die 100 zu wählen. Jeodch kann Asterisk mit 100 nix anfangen, da diese (in dem betreffenden) Kontext nicht existiert...

Für weitere Hilfe diesbezüglich währe der Wählplan (extensions.conf) sowie die sip.conf mit dem General sowie dem Usereintrag hilfreich.
 
extensions.conf:
[general]
;include <card1.txt>

[incoming]
exten => callin,1,Answer()
;exten => callin,n,Wait(1)
exten => callin,n,MeetMe(1,Mmpqw) ; Konferenzraum wird zugeteilt
exten => callin,n,Hangup()

[phones]
;listen
exten => 100,1,Answer()
exten => 100,n,MeetMe(1,1AMwq)
;exten => 100,n,(${CALLERID} ${DATETIME})
exten => 100,n,System(kdialog --msgbox "Neuer Anruf von ${CALLERID}")
;exten => 100,n,MeetMe(1,1AMwq)
exten => 100,n,Hangup()

;callback
;exten => 103,1,Wait(1)
;exten => 103,n,System(/etc/asterisk/callback ${CALLERID(num)})
;exten => 103,n,Wait(1)
;exten => 103,n,Hangup()

;exten => h,1,System(killall arecord -9) ; funktioniert noch nicht richtig

sip.conf:
[general]
musiconhold=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
delayreject=yes ;Verhinderung von Brute Force Attacken
context=incoming
language=de
dtmfmode=rfc2833
rtpkeepalive=3
canreinvite=yes ;Asterisk wählt kürzesten Weg vom Audiostream
disallow=all
allow=ulaw
allow=allaw
allow=g726
allow=gsm

register => 123:[email protected]/callin
[anlage]
type=friend
context=phones
host=dynamic
canreinvite=no
secret=passwort
 
Mit welchem User registriert sich das Softphone denn am Asterisk? Mit "anlage"?

Versuche mal folgenen Parameter zu setzen:
Code:
--registrar=url     Set the URL of registrar server
url = Asterisk IP


Falls das immer noch nicht funktioniert, auch diesen Parameter zusätzlich:
Code:
--outbound=url      Set the URL of global outbound proxy server
 
Ja, es registriert sich mit "Anlage"

Wo soll ich die Parameter setzen? IN der sip.conf?

########
Ok, du meintest in pjsua den Parameter setzten...
Bringt auch nichts.

Was mich halt wundert, das asterisk die anfrage ablehnt, frag mich nur warum... Somit muss die Verbindung von pjsua ja ok sein, denn er schreibt ja "1 active call"
 
Setz mal den Verbose-Level mit "set verbose 4" höher und poste die komplette Ausgabe vom Asterisk.
 
Die gleiche Ausgabe. Hab den Level sogar auf 10 gesetzt... immer die gleiche Ausgabe.
 
Dann registriert sich das Softphone gar nicht am Asterisk bzw. versucht es gar nicht. Denn sonsten würden entsprechende (Fehler)Meldungen kommen...

Somit landet das Gespräch dann im (general) incoming-Kontext in dem es logischerweise keine 100 gibt.. Daher auch die Fehlermeldung.
 
Kostenlos!

Statistik des Forums

Themen
248,849
Beiträge
2,302,793
Mitglieder
378,498
Neuestes Mitglied
Gerdemha