rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Je libo vlastní pobočkovou ústřednu ?
Odpovědět
fhanzlik
Příspěvky: 5
Registrován: pon 13. čer 2022 5:21:10

rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od fhanzlik »

Ahoj,
poté, co jsme k stávající SIP linkám Odoriku převedli další dvě z ISDN, potřebuji rozlišit na jaké číslo se zvenku volalo a podle toho vybrat příslušný lokální cíl (u mne ring group).
A zápasím s tím už docela dlouho, a zatím bezúspěšně. Podle dokumentace Asterisk (používám už poměrně staré distro Elastix, postavené na Centos 7, s Asterisk 11.15 a FreePBX 2.11)
se tohle asi řeší pomocí "Inbound Routes" (jenom? jde i jinak?) - ale tápu jak. Problémy/nevědění/nejasnosti mám s:

1) Lze přiřadit každému přidělenému veřejnému tlf číslu Odorika 'Inbound Routu'? Pak by to bylo triviální, ale zdá se, že tohle v Asterisku nejde/nepřišel jsem na to jak.

2) Podle dokumentace Asterisk/FreePBX se tohle přiřazení/směrování dá udělat pomocí Direct Inward Dialing čísla (DID number) - ale nevím kde se vezme ani co to přesně je - zdá se, že spíš než by to bylo volané veřejné číslo, tak je to už něco jako číslo vnitřní pobočkové linky (obdoba DISA). A kde je to DID v SIP paketu zamontované? (na specifikaci SIP jsem se nedíval, a tcpdump/Wireshark nic takového nikde nezobrazuje).

3) V jednu chvíli se mi zdálo, že DID by se mohlo k číslu linky svázat v nastavení linky ve webovém rozhraní Odoriku, že by to mohla být položka volby "Jméno veřejného čísla zobrazované u příchozích hovorů", kde v nápovědě je psáno:
Tohle políčko je užitečné jen pro naprostou menšinu uživatelů, kteří mají u nás více veřejných čísel. Pole má smysl vypňovat, jen pokud je aktuální lince přiřazeno veřejné číslo
pro příchozí hovory. Příjímáte-li příchozí hovory na jedné lince v síti odorik pro více různých veřejných telefonních čísel Odorik (nasměrujete si je tam v paralelním zvonění),
můžete si zde zadat jméno, které se Vám ukáže během vyzvánění a vy tak budete mít přehled, na jaké číslo je vám voláno. Možná jména: "podpora", "prodej", "pobočka Brno".
Pokud tohle políčko nevyplníte, jsou zobrazeny jen poslendní tři číslice volaného veřejné čísla. Tyto tři číslic jsou oděleny znakem je větší ">" např. ">533".

Což by mi asi pomohlo, kdyby se to v Asterisku nechalo zpracovat a použít v tom příchozím směrování (také nevím jak) - ale když jsem to v konfiguraci linek Odoriku vyplnil, tak se to projevilo jen u jedné linky, kde v SIP protokolu bylo (599117319 je volající číslo a 941 jsou poslední 3 číslice čísla volané linky Odoriku):
...
From: "599117319>941" <sip:+420599117319@sip.odorik.cz>;tag=as76e92fa9
P-Asserted-Identity: "599117319>941" <sip:+420599117319@sip.odorik.cz>
...
Ale tohle se přidalo jen u té jedné linky (asi "řídící" nebo první nebo co linka trunku), a u ostatních linek se nepřidalo nic, ať jsem u nich vyplňoval ASCII slovo, číslo, nebo to nechal prázdné.
Nevím jestli jde o chybu u Odoriku nebo u mne, tenhle směr jsem prostě také "neprošťouch".

4) Info o volaném čísle je (a snad by měla jít použít pro vstupní routing v SIP protokolu v poli "To:" :
...
To: <sip:00420371394941@MyIP:5060>;tag=as06ee3f2c (*)
nebo:
To: <sip:822105@MyIP>;tag=as01e5a950 (**)

Opět zajímavé/nevysvětlené/nepochopené - při volání na to (asi "řídící" nebo první nebo co číslo linky trunku) je v "To:" číslo linky Odoriku, které odpovídá příslušnému telef. číslu (viz (**) výše). A při volání na ostatní tlf. čísla jsou ta čísla v To: přímo uvedené (** výše).
A také nevím, jestli tohle je cesta a jak s tím příp. narábať dál...;)

Shrnuto - je to nejspíš moje neznalost Asterisk/SIP/Odorik detailů, ale po víkendu nad tímhle problémem stráveným i lehká frustrace a deprimace ;) - tohle by přece měla být celkem běžná a používaná věc, a Asterisk (i Odorik) ji nejspíš umí - jen nevím jak. AltaVista už není, stryko Gůgl se zavařil, výsledky guláš a nula.

Můžete mne pls nakopnou jak z toho?
Předem díky moc!

PS: Z webů Odoriku vedou odkazy na informace na https://wiki.4smart.cz/ - ale web má expirovaný certifikát, takže mne tam Firefox nepustí... Měl bych to někde nahlásit?
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od xsouku04 »

Volané číslo by se mělo použít to co se najde v hlavičce INVITE. V hlavičce TO může teoreticky být cokoli i když většinou bývá také to volané číslo.
Bohužel v terminologii nějaké klikací nadstavby Asterisku se nevyznám. Ale určitě bych se snažil směrovat hovor podle volaného čísla.
Je normální, že každé číslo zvoní někde trochu jinde, takže by to mělo být velmi snadné. Obvyklé je to, že každé číslo zvoní na jinou klapku, nebo právě na více klapek zároveň a podobně. Tedy mělo by to být obsaženo v nějakém minimalistickém příkladu jak to celé nastavit. Nejspíš je to tak jednoduché, že jste to právě přehlédl.
pe.havel
Příspěvky: 223
Registrován: pát 02. zář 2016 10:34:20

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od pe.havel »

Zdravím,
postup, jak to funguje mně:
  • Odorik → Paralelní zvonění: U každého veřejného čísla nastavit zvonění na "sip:_@XXXXXX", kde X je číslo TRUNK linky, kterou se registruje PBX. Stačí jedna linka, směrování jednotlivých veřejných čísel se odliší pomocí DID.
  • Pokud používáte knihovnu PJSIP, v nastavení trunk v PBX jsem musel doplniti navíc toto: From Domain (veřejná IP adresa před NAT pro PBX, matně tuším, že to bylo kvůli problému s hlavičkami pro přesměrování); From User (číslo linky jako v bodu 1); Send RPID/PAI: Send Remote-Party-ID header
  • V globálním nastavení povolit: Generate Diversion Headers
  • V "Inbound Routes" pro každé veř. číslo samotné pravidlo. Hovory se rozliší podle DID Number. Čísla bez předvolby 00420/+420 (9 číslic). (To je dané podtržítkem v bodu 1.)
Je to vytažené v rychlosti, možná jsem na něco zapomněl. Napsané je to tuším pro FreePBX verze 15.
fhanzlik
Příspěvky: 5
Registrován: pon 13. čer 2022 5:21:10

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od fhanzlik »

@xsouku04 : Díky za odpověd! Zkusím odpovědět, co vím:

V hlavičce INVITE je v podstatě to samé co v "To:" a není to jednotné:
- buďto je tam '6-místné číslo linky Odorik' @ 'veřejná IP mé PBX' - to je pokud se volá na (asi "řídící" nebo první nebo co linka trunku)
- nebo je tam '00420 + volané 9-místné tlf. číslo' @ 'veřejná IP mé PBX' - pokud se volá na jiné číslo než to výše

Proč je to jiné přesně nevím, tuším, že to bude tím trunkem (který se, nevím jestli si to představuji úplně správně, od prostého přidělení odpovídajícího počtu jednotlivých veřejných linek, liší v podstatě jen tím, že u trunku lze (je nutno??) z PBX u poskytovatele (Odoriku) registrovat jen jedno číslo linky/trunk - to je to moje "zvláštní". U linek ne v trunku bych pak musel v PBX konfigurovat registraci každé linky k Odoriku zvlášť).

Ale ať se jedná o tu informaci o volaném čísle z INVITE hlavičky, z To: nebo třeba z "P-Asserted-Identity" - nevím, jak to v Asterisku zpracovat.
IMO Asterisk ta příchozí volání může směrovat jen podle těch "Inbound Routes" (přičemž routa se asi nedá přímo svázat s volaným telef. číslem nebo číslem linky Odorik), a v konkrétní routě mohu pro rozlišení použít pouze číslo volajícího (což nepotřebuji), nebo to číslo DID. A to DID je pro mne zatím nějak "neuchopitelné" - nevím co to přesně je, jak jej může Odorik poslat a zda jej vůbec posílá, pokud je poslané, tak kde se v INVITE paketu nachází, nebo třeba jestli v Asterisku mohu to DID programově n. pomocí nějakých pravidel n. nastavení proměnných environmentu nějak vytvořit - tady je ta moje "černá díra"...
Netušíte?
Díky, Franta H.
fhanzlik
Příspěvky: 5
Registrován: pon 13. čer 2022 5:21:10

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od fhanzlik »

@pe.havel : Díky za odpověd!
Tu možnost nastavení paralelního zvonění v menu nastavení linky ve webovém rozhraní Odorik nevidím. A ani si neumím představit, jak by to fungovalo.
Knihovnu PJSIP nepoužívám, v té mé verzi Asterisk-11.15 asi ještě není (aspoň není jako balíček).

Zřejmě se vše točí kolem toho DID čísla - pokud se k němu Asterisk nějak dostane, tak je to nastavení směrování jednoduché. Ale to je místo, kde tápu a nějaký "nástřel" profíka by mně dost pomohl.
Díky předem!
pe.havel
Příspěvky: 223
Registrován: pát 02. zář 2016 10:34:20

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od pe.havel »

fhanzlik píše:Tu možnost nastavení paralelního zvonění v menu nastavení linky ve webovém rozhraní Odorik nevidím.
V tabulce seznamu linek je sloupeček "Veřejné telefonní číslo (příchozí hovory)". Na tom se nastavuje směrování příchozího hovoru na dané číslo. Zde je ve výchozím stavu číslo linky, na kterém veřejné číslo visí. To je potřeba zrušit a místo toho přidat ve tvaru "sip:_@XXXXXX", kde X je právě číslo linky, na které je PBX registrovaná. Tím se definuje, že příchozí hovory budou mít v SIP hlavičce číslo volané veřejné linky, ne číslo interní linky Odoriku. Díky tomu bude fungovat třídění hovorů na straně PBX. Doufám, snad se nepletu… :)
Viz https://www.odorik.cz/w/freepbx:siptrunk
fhanzlik
Příspěvky: 5
Registrován: pon 13. čer 2022 5:21:10

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od fhanzlik »

@pe.havel : Aha, díky! Pro stromy nevidím les ;)
V tom sloupci "Veřejné telefonní číslo" mám u všech linek ne číslo linky Odorik, ale přímo ta veřejná čísla.
Zkusím si s tím pohrát někdy k večeru, až bude klid, co to udělá - ta syntaxe je podezřelá - snad by mělo být "sip : telefonníČíslo @ IPAdr-or-FQDN", ne?
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od xsouku04 »

fhanzlik píše:@pe.havel : Aha, díky! Pro stromy nevidím les ;)
V tom sloupci "Veřejné telefonní číslo" mám u všech linek ne číslo linky Odorik, ale přímo ta veřejná čísla.
Zkusím si s tím pohrát někdy k večeru, až bude klid, co to udělá - ta syntaxe je podezřelá - snad by mělo být "sip : telefonníČíslo @ IPAdr-or-FQDN", ne?
"sip : telefonníČíslo @ IPAdr" může být také, ale jen v případě, že máte veřejnou ip adresu a musel byjste to nastavovat u každého čísla zvlášť.

Ve formátu sip:_@XXXXXX to pošle na ip adresu a port, z které je daná linka zaregistrovaná, a číslo doplní automaticky v mezinárodním formátu. Tedy méně práce a nemůžete udělat chybu v čísle.
fhanzlik
Příspěvky: 5
Registrován: pon 13. čer 2022 5:21:10

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od fhanzlik »

Teď jsem ještě našel tohle: https://help.yeastar.com/en/s-series/to ... tings.html

Nevím, jestli je to nějak aplikovatelné na můj případ, ale v "Advanced Settings" -> "Inbound Parameters" -> "Get DID From" píší:

Z kterého pole hlavičky má trunk brát (hlavičku?) DID:
- [Follow System] The trunk will follow the global Get DID From setting.
- TO
- INVITE
- Remote-Party-ID /Note: If this option is selected, but the SIP provider doesn't support Remote Party ID, the PBX will retrieve DID from INVITE header/
- P Asserted Identify
- Diversion
- P-Called-Party-ID
- P-Preferred-Identity

Což mi celkem dává smysl a implikuje, že asi:
- DID není nějaká konkrétní hodnota definovaná v SIP protokolu n. jeho rozšířeních, ale může se určovat z jiných hodnot SIP/INVITE
- DID neposílá (nutně jen) provider (Odorik), ale PBX (Asterisk) si jej má/může vyčíslit sám
- a to logicky zřejmě někde v definici trunku
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: rozlišeni na jakou linku Asterisk PBX se zvenku volá?

Příspěvek od xsouku04 »

Volané číslo by vždy mělo být v INVITE. Nerozumím tomu, proč by potřeboval někdo získávat volané číslo od jinud, když zaručeně je správně jen v INVITE. Číslo volajícího může být v různých hlavičkách a tak lze nastavit které hlavičce se má dát přednost.
Ale vypadá to, že motají číslo volajícího a volaného jaksi dohromady. Někdy se ale mohou směrovat hovory nejen podle čísla volaného (to je vždy), ale navíc i podle čísla volajícího, např. VIP zákazníci přeskočí frontu nebo IVR.
Odpovědět