Ich hoffe, ich war euch nicht zu langsam.....
Gruss Richard
Ich hoffe, ich war euch nicht zu langsam.....
Gruss Richard
Hallo an das ganze Team!
Aktuell hatten wir das Problem, das ein Anrufer per Weboberflaeche einen externen Anschluss angewaehlt hat. Nun kam das Gespraech zustande und der angerufene (externe) Teilnehmer wurde per "Blindtransfer" weitergeleitet. Beim Empfaenger wird dann die interne Nummer des Anrufers angezeigt.
Logisch waere doch, hier dann die extern gewaehlte Nummer anzuzeigen, oder wenigstens, das es sich um einen weitergeleiteten Anruf handelt, oder?
Schliesslich weiss der zuletzt Angerufene ja nicht, ob es die Affaire aus der Firma ist ist, oder aber Liebste zuhause., die da gerade durchgestellt wurde...
Fatal, wer sich da falsch meldet....
Habt ihr da vielleicht ne Idee, wie man das loesen kann?
Gruss Richard
Hintergrund ist, daß Cisco eine sehr strenge (und, mit Verlaub, weltfremde) Auslegung von RFC3261 (SIP) implementiert hat. Konkret nutzt dass Cisco Endgerät andere UDP-Ports zum Senden von SIP Requests als zum Empfangen derselben. Es erwartet jedoch antworten auf dem Port 5060.
Ich hatte mir schon sowas in der Art gedacht...
Quote
Was ich mich allerdings frage: Wieso hast du "NAT_Enable: 1" bei Endgeräten im LAN?
Das frage ich mich auch... Nein Spass beiseite, der Eintrag ist notwendig, damit ich hier bei dem Telefon angerufen werden kann. Nehme ich den Parameter raus, funktioniert es nicht mehr. -- Warum auch immer.
Mit den genannten Einstellungen laeuft es hier ohne Probleme.
Starface CISCO Phone
10.3.1.8 ---------- 10.3.1.152
Gruss Richard
Hallo Welt!
Das Cisco tut mit der genannten Einstellung. (Jedenfalls was die Grundfunktionen angeht. Mehr hab ich bis jetzt nicht damit gemacht.)
Gruss Richard
Hi Thorsten!
Aber:
Da hier die CallerID angefasst und verändert wird hat das x Nebeneffekte die sich durch die komplette STARFACE ziehen.
Wir raten absolut davon ab ein solches Modul einzusetzen.
Mir waer bei dem Problem ne andere Loesung lieber. Ich kann allerdings nicht nachvollziehen, wo sich durch das Umschreiben der Anrufernummer ein Problem auftun sollte... Ob die Starface nun 0049123456789 oder 0123456789 anzeigt/verarbeitet, sollte ihr eingentlich egal sein, oder hab ich was uebersehen?
Gruss Richard
Hallo Welt!
Man koennte es ueber ein Modul loesen. Ich habe hier aktuell aehnliches fuer das "+49" gemacht, um es auf den Aastra DECT-Telefonen darstellbar zu machen.
Vorgehen:
Anrufer-Nummer nehmen,
Schauen, ob die auf das Pattern passt,
Wenn ja, dann denn Rest speichern,
umschreiben.
Gruss Richard
P.S. Mich kann man auch anschreiben
Hallo an das ganze Team!
Mir ist gerade aufgefallen, das ich fuer von mir eingesetzte Starface-Module Updates vorhanden waren. Waer es nicht sinnvoll, dieses - analog zu der Starface selber - irgendwo per Webinterface anzuzeigen und evtl. sogar direkt installierbar zu machen?
Gruss Richard
Hallo Welt
Es scheint die Einstellung
zu sein, die Probleme bereitet. Mit der folgenden Einstellung funktioniert es anscheinend. Ich werde es mal laenger testen und dann kurz berichten.
Gruss Richard
SIPDEFAULT.cnf
image_version:P0S3-8-12-00 ;
proxy1_address: 192.168.1.1 ;
proxy_register: "1"
timer_register_expires: "3600"
preferred_codec: "g729"
dtmf_inband: "1"
dtmf_outofband: "avt"
dtmf_db_level: "3"
timer_t1: "500" ; Default 500 msec
timer_t2: "4000" ; Default 4 sec
sip_retx: "10" ; Default 11
sip_invite_retx: "6" ; Default 7
timer_invite_expires: "180" ; Default 180 sec
telnet_level: "2"
nat_enable: "1"
nat_received_processing:"1"
tftp_cfg_dir: "./"
sntp_mode: "directedbroadcast"
sntp_server: "time.apple.com"
time_zone: "CET"
dnd_control: "0" ; Default 0 (Do Not Disturb feature is off)
callerid_blocking: "0" ; Default 0 (Disable sending all calls as anonymous)
anonymous_call_block: "0" ; Default 0 (Disable blocking of anonymous calls)
dtmf_avt_payload: "101" ; Default 101
dial_template: "dialplan"
network_media_type: "auto"
autocomplete: "1"
time_format_24hr: "1"
enable_vad: "0"
phone_password: "password"
Display More
SIP$MACADDRESSE$.cnf
line1_displayname: Starface
line1_name : starface
line1_shortname: Starface
line1_authname : 0099
line1_password : abcdefg
nat_enable: "1"
nat_received_processing: "0"
phone_label: "CISCO"
callerid_blocking: "0"
dtmf_outofband: "avt"
network_media_type: "auto"
dtmf_avt_payload: "101"
autocomplete: "1"
call_waiting: "1"
cnf_join_enable : "1"
semi_attended_transfer : "1"
Display More
Hallo Welt!
Ich hab hier noch als "Spieltelefon" ein Cisco 7940G mit der aktuellen SIP-Firmware (POS3-08-12) welches ich an die Starface gehaengt habe.
Anrufen geht immer ohne Probleme, machmal, wenn dieses Phone angerufen wird, kommt ein
-- SIP/cisco-08c1d018 is circuit-busy
-- Got SIP response 488 "Not Acceptable Here" back from 10.3.1.132
und somit laeutet es auch nicht....
Ich bin ziemlich ratlos, was das sein koennte, denn es tritt sporadisch auf....
Gruss Richard
Hi Philipp!
Wenn ich es richtig verstanden habe dann musst du einfach 9 weitere Regeln anlegen mit deinem präferierten Provider als primäre Leitung (eine für 1 und eine für 2 etc.)
Ich hatte es befuerchtet!
Danke fuer die Antwort!
Gruss Richard
Hm, ich habe zwei Leitungen, eine Sipgate und eine ISDN, Routing-Prio steht auf Leitung & COR und in der COR-Konfiguration:
Rufnummer: 0
Pos 1: DTAG ISDN
Pos 2: Sipgate
Ein Telefon, welchem eine Leitung zugeordnet ist, kann die Telefonnummern ohne "0" erreichen. Teilnehmer ohne Zuordnung einer externen Rufnummer erhalten "busy" zurueck.
Nochmal kurz zur Erklaerung:
Benutzer, denen keine eigene Leitung zugeordnet ist, koennen keine externen (vierstelligen) Rufnummern anrufen. Hier hilft nur die Vorwahl vorzuwaehlen.
Bei Benutzern, die eine eigene Leitung zugeordnet bekommen haben, funktioniert es auch ohne Vorwahl.
Anyone?
STARFACE hängt automatisch die Vorwahl dran, dann passt das mit der 0 wieder.
Hm, ich habe zwei Leitungen, eine Sipgate und eine ISDN, Routing-Prio steht auf Leitung & COR und in der COR-Konfiguration:
Rufnummer: 0
Pos 1: DTAG ISDN
Pos 2: Sipgate
Ein Telefon, welchem eine Leitung zugeordnet ist, kann die Telefonnummern ohne "0" erreichen. Teilnehmer ohne Zuordnung einer externen Rufnummer erhalten "busy" zurueck.
Anbei ein (gekuerzter) Auszug aus dem Logfile:
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- Executing AGI("SIP/richard-08b0dd08", "agi://localhost/initdial.agi") in new stack
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (noop) Options: (---[info]---Call from : (name) Richard (num) 0 (intern) 23 )
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (Set) Options: (LANGUAGE()=de)
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (Set) Options: (CDR(userfield)=4938)
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (noop) Options: (---[Info]---Call outgoing for account 1000 to 4432 )
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (noop) Options: (---[DEBUG]---no line to choose from clid withheld, just using cor )
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (ResetCDR) Options: ()
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (Set) Options: (EXTEN=4432)
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (noop) Options: (---[ERROR]---No line found to call number: 4432 for account: 1000 signalnumber: 0)
Oct 20 13:40:14 VERBOSE[15119] logger.c: -- AGI Script Executing Application: (congestion) Options: (15)
Oct 20 13:40:14 VERBOSE[15119] logger.c: == Spawn extension (international, 4432, 1) exited non-zero on 'SIP/richard-08b0dd08'
######
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- Executing AGI("SIP/michael-08b10a88", "agi://localhost/initdial.agi") in new stack
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[info]---Call from : (name) Michael (num) 0 (intern) 17 )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (LANGUAGE()=de)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (CDR(userfield)=4939)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[AGIKernel]---PostTargetDetermination:Calling module hook 'Echotest' )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[Info]---Call outgoing for account 1001 to 4432 )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[DEBUG]---no line to choose from clid withheld, just using cor )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (ResetCDR) Options: ()
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (EXTEN=4432)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (CDR(userfield)=4940)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (CALLERID(all)=anonymous <0>)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (setCallerPres) Options: (PROHIB)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[info]---CallerID : 0 for call over line DTAG ISDN )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (ResetCDR) Options: ()
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (EXTEN=4432)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[info]---Trying to place an outgoing call on line: DTAG ISDN )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (ChanIsAvail) Options: (Srx/G30)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (noop) Options: (---[info]---AvailChan: Srx/g30-0x8a3e418 )
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (set) Options: (AVAILCHAN="")
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (UserEvent) Options: (OutgoingCall|Data: Srx/g30,4432)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Set) Options: (CDR(accountcode)=1)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- AGI Script Executing Application: (Dial) Options: (Srx/g30/4432|90|wW)
Oct 20 13:40:45 VERBOSE[15139] logger.c: -- Called g30/4432
Display More
Display MoreMein PC wählt i.d.R. für mich - manuelles wählen am Telefon kommt nur noch äußerst selten vor dank STARFACE
Spaß beiseite:
Bist du dir da sicher? Auf die ISDN Stati kann man sich eigentlich verlassen...
Müsste man mal ein Blick ins Log werfen was genau passiert
Asterisk CLI (verbosity 10, SRX debug on):
-- Executing AGI("SIP/richard-08383218", "agi://localhost/initdial.agi") in new stack
-- AGI Script Executing Application: (Set) Options: (__SFCLIDNUM=0)
-- AGI Script Executing Application: (Set) Options: (__SFCLIDINTNUM=23)
-- AGI Script Executing Application: (Set) Options: (__SFCLIDNAME=Richard)
-- AGI Script Executing Application: (noop) Options: (---[info]---Call from : (name) Richard (num) 0 (intern) 23 )
-- AGI Script Executing Application: (Set) Options: (LANGUAGE()=de)
-- AGI Script Executing Application: (Set) Options: (CDR(userfield)=4587)
-- AGI Script Executing Application: (noop) Options: (---[Info]---Call outgoing for account 1000 to 028.... )
-- AGI Script Executing Application: (ResetCDR) Options: ()
-- AGI Script Executing Application: (Set) Options: (EXTEN=028....)
-- AGI Script Executing Application: (Set) Options: (CDR(userfield)=4588)
-- AGI Script Executing Application: (Set) Options: (CALLERID(all)=anonymous <0>)
-- AGI Script Executing Application: (setCallerPres) Options: (PROHIB)
-- AGI Script Executing Application: (noop) Options: (---[info]---CallerID : 0 for call over line DTAG ISDN )
-- AGI Script Executing Application: (ResetCDR) Options: ()
-- AGI Script Executing Application: (Set) Options: (EXTEN=028....)
-- AGI Script Executing Application: (noop) Options: (---[info]---Trying to place an outgoing call on line: DTAG ISDN )
-- AGI Script Executing Application: (ChanIsAvail) Options: (Srx/G30)
-- AGI Script Executing Application: (noop) Options: (---[info]---AvailChan: Srx/g30-0x82cb320 )
-- AGI Script Executing Application: (set) Options: (AVAILCHAN="")
-- AGI Script Executing Application: (UserEvent) Options: (OutgoingCall|Data: Srx/g30,028248060202)
-- AGI Script Executing Application: (Set) Options: (CDR(accountcode)=1)
-- AGI Script Executing Application: (Dial) Options: (Srx/g30/028....|90|wW)
CCMSG OUT: port=0003, l3=0x829d938, type=00400150=CC_SETUP | REQUEST
-- Called g30/028....
CCMSG IN: port=0003, l3=0x829d938, type=00400292=CC_MORE_INFORMATION | INDICATION, srxcisig=(nil), srxpvt=0x82cb320, srxpvt->owner=0x82a08d0
CCMSG IN: port=0003, l3=0x829d938, type=004002a2=CC_PROCEEDING | INDICATION, srxcisig=(nil), srxpvt=0x82cb320, srxpvt->owner=0x82a08d0
-- Srx/g30-0x82cb320 is proceeding passing it to SIP/richard-08383218
CCMSG IN: port=0003, l3=0x829d938, type=004001d2=CC_DISCONNECT | INDICATION, srxcisig=(nil), srxpvt=0x82cb320, srxpvt->owner=0x82a08d0
== CC_DISCONNECT|INDICATION: srxpvt=0x82cb320, srxpvt->owner=0x82a08d0, srxpvt->owner->_state=3
== CC_DISCONNECT|INDICATION: srxpvt=0x82cb320, srxpvt->bridged_to=(nil), srxpvt->held_by=(nil) srxpvt->holding=(nil), srxpvt->bridged_to->conf_hold_srxpvt=(nil), srxpvt->bridged_to->conf_active_srxpvt=(nil)
== CC_DISCONNECT|INDICATION: srxpvt=0x82cb320, srxpvt_held=(nil), srxpvt_active=(nil)
== CC_DISCONNECT|INDICATION: done
CCMSG OUT: port=0003, l3=0x829d938, type=004001f0=CC_RELEASE | REQUEST
== Everyone is busy/congested at this time (1:0/0/1)
-- AGI Script Executing Application: (noop) Options: (---[info]---Dial returned status: CHANUNAVAIL )
-- AGI Script agi://localhost/initdial.agi completed, returning 0
-- Executing Hangup("SIP/richard-08383218", "1") in new stack
== Spawn extension (international, 028...., 2) exited non-zero on 'SIP/richard-08383218'
CCMSG IN: port=0003, l3=0x829d938, type=004001f1=CC_RELEASE | CONFIRM, srxcisig=(nil), srxpvt=0x82cb320, srxpvt->owner=(nil)
== CC_RELEASE|CONFIRM: done
Display More
Das ist nun ein Anruf ohne COR an eine nicht existente Nummer... Also ein definitives ja.
Gruss Richard
Schade! Dann muss ich den Leuten hier mal beibringen, das "Besetzt" nicht unbedingt auch wirklich besetzt heissen muss, sondern auch was anderes sein kann....
Hm, das ganze Spielchen auch dann, wenn man nur ISDN in den COR-Regeln hat.... Naja, sagen wir mal vorsichtig: Suboptimal...
Bin ich eigentlich der einzige, dem das passiert? Wenn ja, wie handhabt ihr das oder verwaehlt ihr euch nie?
Richard
Display MoreDie Meldung "Bad Gateway" kommt ja von sipgate.
Die Meldung könnte z.B. auch von einem Anschluss kommen, wenn der Provider Probleme beim Routen hat oder die "Ziel-Anlage" einfach temporär nicht erreichbar ist.
Bei anderen Providern wird der Status höchstwahrscheinlich wieder anders heissen...
Eine Änderung dieses Verhalten ist leider nicht möglich
Schade! Dann muss ich den Leuten hier mal beibringen, das "Besetzt" nicht unbedingt auch wirklich besetzt heissen muss, sondern auch was anderes sein kann....
Hm, das ganze Spielchen auch dann, wenn man nur ISDN in den COR-Regeln hat.... Naja, sagen wir mal vorsichtig: Suboptimal...
PS: Beim Versuch das Gespräch über den ISDN Anschluss zu routen wird nur der Anschluß "als Ganzes" benutzt (= eine logische Gruppe), nicht jeder B-Kanal seperat...
Hast ja recht -- Ich hatte einen Log-Eintrag doppelt gesehen, was allerdings nicht von diesem Anruf kam....
Danke!
Gruss Richard
Hallo Welt!
Aktuell haben wir einen stinknormalen T-Com-ISDN-Mehrgeraeteanschluss an der Sirrix-Karte haengen, desweiteren ist ein Sipgate-Anschluss konfiguriert.
Es existiert eine COR-Regel, die besagt, das die Nummer 0... (also quasi alle!) ueber ISDN geroutet werden sollen. Fuer den Fall, das die ISDN-Leitungen besetzt sind, soll Sipgate genutzt werden.
Jetzt rufen wir einen nicht existierenden Anschluss an.... - Was passiert?
erster B-Kanal - "Chan-unavailable", 2ter B-Kanal - "Chan-unavailable", Sipgate '502 Bad gateway". => Besetzt wird signalisiert....
Man bekommt also gar nicht mit, das man sich verwaehlt hat, sondern meint, das der andere Teilnehmer einfach gerade nicht erreichbar ist.
Kann man das Verhalten irgendwie aendern?
Richard
Ich faend es nett, wenn man die Einstellung wieviel Eintraege angezeigt werden (z.B. fuer das Telefonbuch), permanent speichern koennte.
Nach jedem Login muss man die Anzahl neu einstellen.....
Hi Torsten!
Ja, das waere nett, wenn du mir das aufdroeseln koenntest....
Soweit ich das sehe, muesste ich dann fuer jeden Benutzer eine eigene Gruppe mit "allen" drin machen und dieser dann die Mailbox des Benutzers als Abwurfplatz geben. Seh ich das richtig?
Gruss Richard
Hi Torsten!
In unserer Firma gibt es ein 5 Leuten, die Support fuer 2 Firmen machen. Aktuell ist es so geloest, das wir 2 Gruppen haben, denen jeweils 4 Personen davon zugeordnet sind. sollte von diesen vieren keiner an Telefon gehen, so erfolgt der Abwurf auf die Gruppen "Firma A alle" und "Firma B alle", damit die Leute sich entsprechend der angerufenen Nummer melden koennen.
Dieses wollte ich durch eine andere Ring-Strategy huebscher gestalten und darueberhinaus (spaeter) mal zusehen, ob man dann nicht auch die "announce" Funktion vom Asterisk nutzen koennte, damit man den Agenten dann direkt die passende Firma nennen kann.
Darueberhinaus koennte man ja evtl auch dieses Problem insofern loesen, das man Anrufe an die Queue "Alle" schickt, diese aber mit nem Timeout versieht, so das der Anruf dann an die Usermailbox weitergeleitet wird...
Gruss Richard