Hinweis: Zukünftige iOS tomedo Updates werden nur noch auf Geräten mit iOS 16 oder höher verfügbar sein.

Liebes Tomedoteam,

ich habe mein yealink T48U Telefon so konfiguriert, dass es z.B. bei kommenden Rufen folgenden GET sendet:

http://192.168.4.100:8080/incoming/$callerID

Dieser wird auch laut wireshark an den Server gesendet. Wegen einer konfigurierten Warteschleife ist die $callerID aber etwas seltsam:

Frame 1030: 209 bytes on wire (1672 bits), 209 bytes captured (1672 bits) on interface en11, id 0
Ethernet II, Src: SIP-T48U (80:5e:0c:5e:dd:f4), Dst: stefan-mac.local (64:4b:f0:39:00:66)
Internet Protocol Version 4, Src: SIP-T48U (192.168.4.177), Dst: stefan-mac.zuhause (192.168.4.100)
Transmission Control Protocol, Src Port: 42366, Dst Port: 8080, Seq: 1, Ack: 1, Len: 155
Hypertext Transfer Protocol
    GET /incoming/[Warten-9040]%20+498233739832 HTTP/1.1\r\n
    Host: 192.168.4.100:8080\r\n
    <Host: 192.168.4.100:8080\r\n>
    User-Agent: Yealink SIP-T48U 108.86.0.45 80:5e:0c:5e:dd:f4\r\n
    <User-Agent: Yealink SIP-T48U 108.86.0.45 80:5e:0c:5e:dd:f4\r\n>
    Accept: */*\r\n
    <Accept: */*\r\n>
    \r\n
    <Request: True>
    [Response in frame: 1032]
    [Full request URI: http://192.168.4.100:8080/incoming/[Warten-9040]%20+498233739832]
<Wireshark Columns>
 

Dies wäre an sich mit dem geeigneten Regex kein Problem. Aber ich kann in den Einstellungen->Arbeitsplatz->Telefon bei gesetztem Haken bei neue Anrufe und regex keine Regex eingeben. Wo kann ich die Regex eingeben? Oder mache ich etwas falsch?

Die verwendete Tomedoversion ist v1.153.0.16 bzw. v1.153.0.17.

Die genutzte Cloud Telefonanlage ist von fonial.

Vielen Dank und viele Grüße

Stefan Enzensberger für Kinder- und Jugendarztpraxis Dr. Uta Enzensberger - Mering

Gefragt in Bug von (1.1k Punkte)
0 Punkte

3 Antworten

Man muss es nicht an den Server sondern an den Client senden, an dem der Anruf angezeigt werden soll.
Beantwortet von (31.3k Punkte)
0 Punkte
Vielen Dank für den wichtigen Hinweis. In meinem besonderen Fall - ich arbeite auf einem Testsystem - sind Server und Client das selbe System..
Der Port in ihrem Link ist falsch: 9090 ist der korrekte Port (siehe in Ihrem Screenshot). Laut ihrem Wirecast und Link oben habe. Sie 8080 angegeben.

MIt dem Hinweis von Herrn Stenger habe ich jetzt:

- die Einstellungen->Arbeitsplatz->Telefon Einstellungen so geändert, dass die Telefonie - api auf port 8081 läuft

- Beim Neustart des Tomedo-Clients lauscht der tomedo client Prozess nun auf dem port 8081:

  stefan@stefan-mac ~ % sudo lsof -iTCP:8081 -sTCP:LISTEN -n -P

  COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

  tomedo  62835 stefan   26u  IPv4 0x24f96f55c9f1ef4f      0t0  TCP *:8081 (LISTEN)

  tomedo  62835 stefan   27u  IPv6 0xad1489888e4058c3      0t0  TCP *:8081 (LISTEN)

- Das yealink reagiert jetzt mit dem get http://192.168.4.100:8081/incoming/$callerID auf den eingehenden Anruf.

- Wireshark zeigt diesen an 

Frame 65179: 209 bytes on wire (1672 bits), 209 bytes captured (1672 bits) on interface en11, id 0
Ethernet II, Src: SIP-T48U (80:5e:0c:5e:dd:f4), Dst: stefan-mac.local (64:4b:f0:39:00:66)
Internet Protocol Version 4, Src: SIP-T48U (192.168.4.177), Dst: stefan-mac.zuhause (192.168.4.100)
Transmission Control Protocol, Src Port: 57844, Dst Port: 8081, Seq: 1, Ack: 1, Len: 155
Hypertext Transfer Protocol
    GET /incoming/[Warten-9040]%20+498233xxxxxx HTTP/1.1\r\n
    Host: 192.168.4.100:8081\r\n
    <Host: 192.168.4.100:8081\r\n>
    User-Agent: Yealink SIP-T48U 108.86.0.45 80:5e:0c:5e:dd:f4\r\n
    <User-Agent: Yealink SIP-T48U 108.86.0.45 80:5e:0c:5e:dd:f4\r\n>
    Accept: */*\r\n
    <Accept: */*\r\n>
    \r\n
    <Request: True>
    [Full request URI: http://192.168.4.100:8081/incoming/[Warten-9040]%20+498233xxxxxx]

- tomedo stürzt ab

Ich bekomme einen Stacktrace, dass die regex den tomedo client zum Absturz bringt. 

Wie kann ich also die regex ändern? Ging das nicht in früheren Versionen?

OS 15.3.2, tomedo v1.153.0.17] Exception: '-[NSSimpleRegularExpressionCheckingResult rangeAtIndex:]: index 1 out of range', exception's stack trace: #0 CoreFoundation 000000000192BBEE74 __exceptionPreprocess() #1 libobjc.A.dylib 0000000001926A6CD8 objc_exception_throw() #2 Foundation 000000000193D54E5C +[NSURL(NSItemProvider) writableTypeIdentifiersForItemProvider]() #3 tomedo 0000000001059A849C __31-[ZSCallManager initWithPhone:]_block_invoke_2() #4 libdispatch.dylib 0000000001928B15B4 _dispatch_client_callout() #5 libdispatch.dylib 0000000001928C0EE0 _dispatch_async_and_wait_invoke() #6 libdispatch.dylib 0000000001928B15B4 _dispatch_client_callout() #7 libdispatch.dylib 0000000001928C0040 _dispatch_main_queue_drain() #8 libdispatch.dylib 0000000001928BFC58 _dispatch_main_queue_callback_4CF() #9 CoreFoundation 000000000192B8B9D0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__() #10 CoreFoundation 000000000192B4B5BC __CFRunLoopRun() #11 CoreFoundation 000000000192B4A734 CFRunLoopRunSpecific() #12 HIToolbox 00000000019E0B9530 RunCurrentEventLoopInMode() #13 HIToolbox 00000000019E0BF348 ReceiveNextEventCommon() #14 HIToolbox 00000000019E0BF508 _BlockUntilNextEventMatchingListInModeWithFilter() #15 AppKit 0000000001966C2848 _DPSNextEvent() #16 AppKit 000000000197028C24 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]() #17 AppKit 0000000001966B5874 -[NSApplication run]() #18 AppKit 00000000019668C068 NSApplicationMain() #19 tomedo 000000000105046A1C main() #20 dyld 0000000001926E4274 start()

Vielen Dank für Tips und Tricks!

Beantwortet von (1.1k Punkte)
0 Punkte

So jetzt funktioniert die Signalisierung von Anrufen über die yealink Action-URLs an den Tomedo client bzw. an das Anrufer-Panel.

Das Vorgehen ist wie folgt:

  1. in Tomedo App auf Einstellungen->Arbeitsplatz->Telefon gehen (s. auch Bild)
    1. Apple Script + URL - Steuerung auswählen 
    2. neue / angenommene / beendete Anrufe jeweils Haken setzen
    3. den default Port 9090 nehmen (paßt fast immer, nicht 8080)
    4. keinen Haken bei regex setzen
  2. in die Einstellungen des yealink Telefons gehen
    1. Dazu https://<ip-address of phone> im Browser öffnen
    2. Leist.Merkm. -> Action-Url im Menü links auswählen
    3. In eingehende Anrufe eintragen: http://<name of tomedo client or ip>:9090/incoming/$calledNumber
    4. In hergestelle Anrufe eintragen: http://<name of tomedo client or ip>:9090/connected/$calledNumber
    5. In beendete Anrufe eintragen: http://<name of tomedo client or ip>:9090/hangup/$calledNumber
    6. Bestätigen
  3. Tomedo app neu starten

Jetzt zeigt das Anruf-Panel die kommenden Rufe anzeigen ...

Wichtig ist $calledNumber zu verwenden - zumindest die Deutsche Übersetzung des yealink manual ist hier verwirrend ...

PS: Liebes Tomedo-Team vielleicht können Sie den Betreff des Posts ändern? "Yealink Action-Urls zum signalisieren von kommenden Anrufen im Anruf-Panel" wäre vermutlich besser .... 

Beantwortet von (1.1k Punkte)
0 Punkte
19,339 Beiträge
27,757 Antworten
49,941 Kommentare
31,943 Nutzer