Mobotix T24 + Asterisk + Grandstream GXV-3140

burge5

Neuer User
Mitglied seit
4 Mai 2011
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen.
Ich bin gerade dabei mir folgende Umgebung zu realisieren:

Ich habe eine T24 und ein Grandstreamtelefon GXV-3140 an einen Asterisk angeschlossen. Nun ist es mir möglich, dass die T24 nach einem Tastendruck das Grandstreamtelefon anruft und ich nach der Abnahme des Hörers das Bild der T24 zu sehen bekomme.

Das Problem hierbei ist, dass das Telefon das Bild nicht für das Grandstream optimiert anzeigt sondern das Bild oben und unten abgeschnitten ist. Somit sehe ich nicht alle Konfigurationsfelder der T24, die es mir ermöglichen würden, die Kamera aus der Ferne zu konfigurieren oder andere Änderungen daran vorzunehmen.

Nach meiner Recherche findet bei dem Verbindungsaufbau eine Aushandlung des Endgerätetyps zwischen dem Telefon und der T24 statt (in meinem Fall das Grandstream GXV-3140). Das Grandstream sagt dem Asterisk: "Hallo ich bin ein Grandstream GXV-3140 und ich hätte gerne ein, für mich optimiertes Bild von der T24". Der Asterisk kann aber mit dieser Forderung nicht umgehen und liefert eine falsche Endgerätebestimmung an die T24 und diese schickt dann das falsche Bild raus.

Meine Frage wäre nun ob ich dem Asterisk irgendwie sagen kann, dass er die Endgeräteinformation vom Grandstream unverändert zur T24 duchlassen soll oder ob ich dem Asterisk sagen kann, dass er von der T24 IMMER ein Bild für ein Grandstream GXV-3140 anfordern soll/muss????

Über eine Antwort würde ich mich sehr freuen!!!
 
Update

Ich weiß nun, dass die Kamera den INVITE-Teil des SIP-Headers auswertet. Hier muss nach dem Feld User-Agent "Grandstream GXV3140 1.0.5.4" stehen. Da der Asterisk aber bei mir als Vermittler dient und somit zwischen der T24 und dem Grandstream steht, wird das Feld User-Agent mit "Asterisk PBX 1.6.2.9-2+squeeze1" gefüllt. Hat jemand eine Idee wie ich das auf dem Asterisk umbiegen könnte? Oder wie ich selber ein solches Paket baue?
 
update 2

So und langsam nähert sich das Eichhörnchen. Ich weiß jetzt genau was das Problem ist. Und zwar ist das User-Agent Feld im SIP Header/Protokoll optional. Das heißt bei dem Fragment, wo die Geräteerkennung stattfinden soll, schickt der Asterisk das Feld "User-Agent" aus irgendeinem Grund garnicht mit. Gibt es eine Möglichkeit den Asterisk dazu zu zwingen immer dieses Feld mitzuschicken?
 
Danke!
Den Link habe ich schon ausprobiert! Der Wert wird denk ich auch mal gesetzt. Nur wenn das Feld nicht übertragen wird, hilft mir der Wert darin NULL.
Ja bin mir sicher, dass es nicht mitgeschickt wird. Auf der Asterisk Konsole im Debug-Modus bekomme ich nämlich das Feld nicht bei der Kommunikations-Sitzung angezeigt.
Hast vielleicht noch eine Idee?
 
Zuletzt bearbeitet:
Hast du eventuell compactheaders in der sip.conf aktiviert? Sollte aber eigentlich auch egal sein weil User-Agent auch da übertragen wird. Zeig mal wie die Debugausgabe ausschaut.
 
Zuletzt bearbeitet:
Debugausgabe

possrv*CLI> sip set debug on
SIP Debugging re-enabled

Code:
<--- SIP read from UDP:192.168.41.173:5060 --->
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.41.173:5060;rport;branch=z9hG4bK1229195431
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>
Call-ID: 749065308
CSeq: 20 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
Call-Info: <127.0.0.1>;gs-pip=4
Max-Forwards: 70
User-Agent: Linphone/3.0.0 MX Video (eXosip2/3.1.0)
Subject: Phone call
Expires: 120
Content-Length:   343

=0
o=2002 123456 654321 IN IP4 192.168.41.173
s=A conversation
c=IN IP4 192.168.41.173
t=0 0
m=audio 7078 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11
m=video 9078 RTP/AVP 103 98
a=rtpmap:103 H264/90000
a=fmtp:103 packetization-mode=1
a=rtpmap:98 H263-1998/90000
a=fmtp:98 CIF=1;QCIF=1

<------------->
--- (14 headers 14 lines) ---
Sending to 192.168.41.173 : 5060 (no NAT)
Using INVITE request as basis request - 749065308
Found peer '2002' for '2002' from 192.168.41.173:5060

<--- Reliably Transmitting (no NAT) to 192.168.41.173:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.41.173:5060;branch=z9hG4bK1229195431;received=192.168.41.173;rport=5060
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>;tag=as306da41e
Call-ID: 749065308
CSeq: 20 INVITE
Server: Asterisk PBX 1.6.2.9-2+squeeze1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="70664b5c"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '749065308' in 32000 ms (Method: INVITE)

<--- SIP read from UDP:192.168.41.173:5060 --->
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.41.173:5060;rport;branch=z9hG4bK1229195431
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>;tag=as306da41e
Call-ID: 749065308
CSeq: 20 ACK
Content-Length: 0


<------------->
--- (7 headers 0 lines) ---

<--- SIP read from UDP:192.168.41.173:5060 --->
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.41.173:5060;rport;branch=z9hG4bK1652949049
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>
Call-ID: 749065308
CSeq: 21 INVITE
Contact: <sip:[email protected]:5060>
Authorization: Digest username="2002", realm="asterisk", nonce="70664b5c", uri="sip:[email protected]", response="ebfa9996ee8bbd878046da9c8387b668", algorithm=MD5
Content-Type: application/sdp
Call-Info: <127.0.0.1>;gs-pip=4
Max-Forwards: 70
User-Agent: Linphone/3.0.0 MX Video (eXosip2/3.1.0)
Subject: Phone call
Expires: 120
Content-Length:   343

v=0
o=2002 123456 654321 IN IP4 192.168.41.173
s=A conversation
c=IN IP4 192.168.41.173
t=0 0
m=audio 7078 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11
m=video 9078 RTP/AVP 103 98
a=rtpmap:103 H264/90000
a=fmtp:103 packetization-mode=1
a=rtpmap:98 H263-1998/90000
a=fmtp:98 CIF=1;QCIF=1

<------------->
--- (15 headers 14 lines) ---
Sending to 192.168.41.173 : 5060 (no NAT)
Using INVITE request as basis request - 749065308
Found peer '2002' for '2002' from 192.168.41.173:5060
Found RTP audio format 8
Found RTP audio format 101
Found audio description format PCMA for ID 8
Found audio description format telephone-event for ID 101
Found RTP video format 103
Found RTP video format 98
Found video description format H264 for ID 103
Found video description format H263-1998 for ID 98
Capabilities: us - 0x2c000c (ulaw|alaw|h261|h263|h264), peer - audio=0x8 (alaw)/video=0x300000 (h263p|h264)/text=0x0 (nothing), combined - 0x200008 (alaw|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 192.168.41.173:7078
Peer video RTP is at port 192.168.41.173:9078
Looking for 2000 in meine-telefone (domain 192.168.47.253)
list_route: hop: <sip:[email protected]:5060>

<--- Transmitting (no NAT) to 192.168.41.173:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.41.173:5060;branch=z9hG4bK1652949049;received=192.168.41.173;rport=5060
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>
Call-ID: 749065308
CSeq: 21 INVITE
Server: Asterisk PBX 1.6.2.9-2+squeeze1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:[email protected]>
Content-Length: 0


<------------>
Audio is at 192.168.47.253 port 13508
Video is at 192.168.47.253 port 17358
Adding codec 0x8 (alaw) to SDP
Adding codec 0x4 (ulaw) to SDP
Adding video codec 0x200000 (h264) to SDP
Reliably Transmitting (no NAT) to 192.168.40.232:5060:
INVITE sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK3f27102b;rport
Max-Forwards: 70
From: "2002" <sip:[email protected]>;tag=as1479f5e6
To: <sip:[email protected]:5060;user=phone>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.2.9-2+squeeze1
Date: Thu, 05 May 2011 14:29:04 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 293

v=0
o=root 1266249914 1266249914 IN IP4 192.168.47.253
s=Asterisk PBX 1.6.2.9-2+squeeze1
c=IN IP4 192.168.47.253
b=CT:384
t=0 0
m=audio 13508 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=ptime:20
a=sendrecv
m=video 17358 RTP/AVP 103
a=rtpmap:103 H264/90000
a=sendrecv

---

<--- SIP read from UDP:192.168.40.232:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK3f27102b;rport=5060
From: "2002" <sip:[email protected]>;tag=as1479f5e6
To: <sip:[email protected]:5060;user=phone>
Call-ID: [email protected]
CSeq: 102 INVITE
Supported: replaces, path, timer
User-Agent: Grandstream GXV3140 1.0.5.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:192.168.40.232:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK3f27102b;rport=5060
From: "2002" <sip:[email protected]>;tag=as1479f5e6
To: <sip:[email protected]:5060;user=phone>;tag=1493610694
Call-ID: [email protected]
CSeq: 102 INVITE
Contact: <sip:[email protected]:5060;user=phone>
Supported: replaces, path, timer
User-Agent: Grandstream GXV3140 1.0.5.4
Allow-Events: talk, hold
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<------------->
--- (12 headers 0 lines) ---

<--- Transmitting (no NAT) to 192.168.41.173:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.41.173:5060;branch=z9hG4bK1652949049;received=192.168.41.173;rport=5060
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>;tag=as1d500d74
Call-ID: 749065308
CSeq: 21 INVITE
Server: Asterisk PBX 1.6.2.9-2+squeeze1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:[email protected]>
Content-Length: 0


<------------>

<--- SIP read from UDP:192.168.40.232:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK3f27102b;rport=5060
From: "2002" <sip:[email protected]>;tag=as1479f5e6
To: <sip:[email protected]:5060;user=phone>;tag=1493610694
Call-ID: [email protected]
CSeq: 102 INVITE
Contact: <sip:[email protected]:5060;user=phone>
Supported: replaces, path, timer
User-Agent: Grandstream GXV3140 1.0.5.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length:   301

v=0
o=2000 8000 8000 IN IP4 192.168.40.232
s=SIP Call
c=IN IP4 192.168.40.232
t=0 0
m=audio 5004 RTP/AVP 8 0
a=sendrecv
a=rtpmap:8 PCMA/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
m=video 5006 RTP/AVP 103
a=sendrecv
a=rtpmap:103 H264/90000
a=fmtp:103 sprop-parameter-sets=Z0KADJWgUH5A,aM4Ecg==

<------------->
--- (12 headers 14 lines) ---
Found RTP audio format 8
Found RTP audio format 0
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
Found RTP video format 103
Found video description format H264 for ID 103
Capabilities: us - 0x2c000c (ulaw|alaw|h261|h263|h264), peer - audio=0xc (ulaw|alaw)/video=0x200000 (h264)/text=0x0 (nothing), combined - 0x20000c (ulaw|alaw|h264)
Non-codec capabilities (dtmf): us - 0x0 (nothing), peer - 0x0 (nothing), combined - 0x0 (nothing)
Peer audio RTP is at port 192.168.40.232:5004
Peer video RTP is at port 192.168.40.232:5006
list_route: hop: <sip:[email protected]:5060;user=phone>
set_destination: Parsing <sip:[email protected]:5060;user=phone> for address/port to send to
set_destination: set destination to 192.168.40.232, port 5060
Transmitting (no NAT) to 192.168.40.232:5060:
ACK sip:[email protected]:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK249ee73d;rport
Max-Forwards: 70
From: "2002" <sip:[email protected]>;tag=as1479f5e6
To: <sip:[email protected]:5060;user=phone>;tag=1493610694
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 ACK
User-Agent: Asterisk PBX 1.6.2.9-2+squeeze1
Content-Length: 0


---
Audio is at 192.168.47.253 port 15638
Video is at 192.168.47.253 port 18430
Adding codec 0x8 (alaw) to SDP
Adding video codec 0x200000 (h264) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (no NAT) to 192.168.41.173:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.41.173:5060;branch=z9hG4bK1652949049;received=192.168.41.173;rport=5060
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>;tag=as1d500d74
Call-ID: 749065308
CSeq: 21 INVITE
erver: Asterisk PBX 1.6.2.9-2+squeeze1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 325

v=0
o=root 1139836699 1139836699 IN IP4 192.168.47.253
s=Asterisk PBX 1.6.2.9-2+squeeze1
c=IN IP4 192.168.47.253
b=CT:384
t=0 0
m=audio 15638 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
m=video 18430 RTP/AVP 103
a=rtpmap:103 H264/90000
a=sendrecv

<------------>

<--- SIP read from UDP:192.168.41.173:5060 --->
jaK
<------------->

<--- SIP read from UDP:192.168.41.173:5060 --->
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.41.173:5060;rport;branch=z9hG4bK206999607
From: <sip:[email protected]>;tag=736652278
To: <sip:[email protected]>;tag=as1d500d74
Call-ID: 749065308
CSeq: 21 ACK
Contact: <sip:[email protected]:5060>
Max-Forwards: 70
User-Agent: Linphone/3.0.0 MX Video (eXosip2/3.1.0)
Content-Length: 0


<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:192.168.40.232:5060 --->
BYE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.40.232:5060;branch=z9hG4bK1850770105;rport
From: <sip:[email protected]:5060;user=phone>;tag=1493610694
To: "2002" <sip:[email protected]>;tag=as1479f5e6
Call-ID: [email protected]
CSeq: 103 BYE
Contact: <sip:[email protected]:5060;user=phone>
Max-Forwards: 70
Supported: replaces, path, timer
User-Agent: Grandstream GXV3140 1.0.5.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<------------->
--- (12 headers 0 lines) ---
Sending to 192.168.40.232 : 5060 (no NAT)

<--- Transmitting (no NAT) to 192.168.40.232:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.40.232:5060;branch=z9hG4bK1850770105;received=192.168.40.232;rport=5060
From: <sip:[email protected]:5060;user=phone>;tag=1493610694
To: "2002" <sip:[email protected]>;tag=as1479f5e6
Call-ID: [email protected]
CSeq: 103 BYE
Server: Asterisk PBX 1.6.2.9-2+squeeze1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '749065308' in 32000 ms (Method: ACK)
set_destination: Parsing <sip:[email protected]:5060> for address/port to send to
set_destination: set destination to 192.168.41.173, port 5060
Reliably Transmitting (no NAT) to 192.168.41.173:5060:
BYE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK70affc45;rport
Max-Forwards: 70
From: <sip:[email protected]>;tag=as1d500d74
To: <sip:[email protected]>;tag=736652278
Call-ID: 749065308
CSeq: 102 BYE
User-Agent: Asterisk PBX 1.6.2.9-2+squeeze1
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0


---

<--- SIP read from UDP:192.168.41.173:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.47.253:5060;branch=z9hG4bK70affc45;rport=5060
From: <sip:[email protected]>;tag=as1d500d74
To: <sip:[email protected]>;tag=736652278
Call-ID: 749065308
CSeq: 102 BYE
User-Agent: Linphone/3.0.0 MX Video (eXosip2/3.1.0)
Content-Length: 0


<------------->
--- (8 headers 0 lines) ---
SIP Response message for INCOMING dialog BYE arrived
Really destroying SIP dialog '749065308' Method: ACK
Really destroying SIP dialog '[email protected]' Method: BYE
 
Debugausgabe

Hey kannst du mit der Ausgabe was anfangen? Wie man sieht wird in dem Paket "transmitting to" das Feld "user-agent" nicht übertragen. Hast du vielleicht eine Idee wie man dieses optionale Feld zwingendermaßen übermitteln lassen kann? So langsam bin ich mit meinem Latein am Ende^^

PS. Eine direkte Verbindung zwischen T24 und Grandstream möchte ich nicht. Ich brauche den Asterisk noch für was anderes und deshalb ist er unverzichtbar.
 
Hey kannst du mit der Ausgabe was anfangen?
Jep, Asterisk ist der Angerufene also User Agent Server. Statt User-Agent: steht also Server: Asterisk PBX 1.6.2.9-2+squeeze1 im Header. Das Asterisk im Header zwischen UAC und UAS unterscheidet ist mir bisher noch nicht aufgefallen da ich nicht darauf geachtet habe. Unabhängig davon wäre die Variante das sich Asterisk als Grandstream GXV3140 ausgibt eh Murks. Ich bin nicht sicher ob eventuell mit Transfer(SIP/[email protected]) noch was zu machen ist.

Die Mobotix erlaubt doch mehrer Verbindungen die man entsprechend konfigurieren kann oder? So lange man nicht genau weiss warum der Asterisk unverzichtbar ist kann man schlecht was dazu sagen. Nur wegen der 100 T24 Stationen von denen ich auf mobotix.com gelesen habe sehe ich keinen Zwang für Asterisk.
 
Weitere Hilfe!?!

Was meinst du mit Transfer? Ist das eine Syntax oder wie stelle ich das ein und in welcher Konfigurationsdatei?
Den Asterisk brauche ich weil es mein Chef so will und ich nicht jedes Mal wenn ein neues Telefon zur Infrastruktur hinzukommt an alle 100 T24 Stationen laufen will um dieses dort anzumelden!
Der Support von Mobotix sagte mir auch, dass dieses Problem bei allen PMX SIP Anlangen auftritt und dass sie dafür noch keine Lösung haben. Das Problem mit diesem USERAGENT Feld ist also bekannt aber niemand weiß einen workaround oder eine vollwertige Lösung.
 
Inzwischen hast du ja sicher google befragt und weisst was Transfer() ist, oder?
 
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.