vadglushv
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Уже как месяц читаю форумы, официальную документацию, мануалы, курсы (Спасибо добрым людям, отсыпали), и пока пришел только к этому . Ладно, хватит лирики. Развернут CUBE на CISCO 2951, ios 15.7(3)M. На нем зарегистрировано 3 SIP транка к разным провайдерам. Регистрацию произвожу с помощью tenant. Код: voice class tenant 1 registrar dns:prov1.local:5060 expires 60 credentials username 1111111password 7 14322405 realm 1.1.1.1 authentication username XXXXX password 7 15373D0 timers buffer-invite 10000 no pass-thru content custom-sdp voice class tenant 2 registrar dns:prov2:5060 expires 60 credentials username 2222222 password 7 04031E09 realm 2.2.2.2 authentication username XXXXX password 7 154A1E03 timers buffer-invite 10000 no pass-thru content custom-sdp voice class tenant 3 registrar dns:vrov3:5060 expires 60 credentials username 3333333 password 7 040A1A realm 3.3.3.3 authentication username XXXXX password 7 08705D5 timers buffer-invite 10000 no pass-thru content custom-sdp | Вроде все хорошо, регистрируется, звонки идут в обе стороны. Развернута Софт АТС CUCM (На самом деле совершенно не важно какая, cucm или asterisk). Правилами фильтрации, трансляции, маршрутизации (и все остальные умные слова), настроил что (ПРЕДПОЛОЖИМ) сотрудники из 3 разных отделов закрываются на выходе из софт АТС своим Caller ID. (естественно при звонках в город) Отдел 1 закрывается номером 111-11-11, который предоставляет 1 оператор. Отдел 2 закрывается номером 222-22-22, который предоставляет 2 оператор. Отдел 3 закрывается номером 333-33-33, который предоставляет 3 оператор. То есть получается что на CUBE, при совершении исходящего вызова, прилетает уже подмененный, окончательный, номер. На основании данного номера (который прилетает на CUBE) мне и необходимо организовать outgoing dial-peer. Если звонок приходит от номера 111-11-11 то он его отправляет на провайдера 1. И так далее по аналогии. Я пытался делать это используя answer-address. Но ничего не вышло, т.к. вычитал что answer-address обрабатывается только в входящем dial-peer. Вот так: Код: dial-peer voice 200 voip description Yxodit na Operatora 1 answer-address 1111111 destination-pattern .T session protocol sipv2 session target ipv4:1.1.1.1 session transport udp voice-class codec 1 voice-class sip tenant 1 dtmf-relay rtp-nte no vad authentication username 1111111 password 7 15373D022B3B7 | Подскажите пожалуйста, умные и опытные люди, в какую сторону копать. Как можно организовать отправку звонка на конкретный dial-peer зная каким номер закрывается исходящий вызов. Так же прикладываю интересный лог. В нем видно что с начало выбирается правильный Dial-peer, потом из-за чего-то пропадает Calling Number, потом меняется, и уходит на другой Dial-peer. P.S.1111111 номер у первого провайдера. 2222222 Ном ер у второго провайдера. 9999999 куда звоним. Номера естественно заменены, произвожу звонки на реальные номера. Код: *Oct 2 13:19:37.404: //-1/AF396D800000/CCAPI/cc_api_display_ie_subfields: cc_api_call_setup_ind_common: cisco-username=1111111 ----- ccCallInfo IE subfields ----- cisco-ani=1111111 cisco-anitype=0 cisco-aniplan=0 cisco-anipi=0 cisco-anisi=1 dest=9999999 cisco-desttype=0 cisco-destplan=0 cisco-rdie=FFFFFFFF cisco-rdn= cisco-rdntype=0 cisco-rdnplan=0 cisco-rdnpi=-1 cisco-rdnsi=-1 cisco-redirectreason=-1 fwd_final_type =0 final_redirectNumber = hunt_group_timeout =0 *Oct 2 13:19:37.404: //-1/AF396D800000/CCAPI/cc_api_call_setup_ind_common: Interface=0x15A80AE0, Call Info( Calling Number=1111111,(Calling Name=)(TON=Unknown, NPI=Unknown, Screening=User, Passed, Presentation=Allowed), Called Number=9999999(TON=Unknown, NPI=Unknown), Calling Translated=FALSE, Subscriber Type Str=Unknown, FinalDestinationFlag=TRUE, Incoming Dial-peer=200, Progress Indication=NULL(0), Calling IE Present=TRUE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, CLID Transparent=FALSE), Call Id=253 *Oct 2 13:19:37.404: //-1/AF396D800000/CCAPI/ccCheckClipClir: In: Calling Number=1111111(TON=Unknown, NPI=Unknown, Screening=User, Passed, Presentation=Allowed) *Oct 2 13:19:37.404: //-1/AF396D800000/CCAPI/ccCheckClipClir: Out: Calling Number=1111111(TON=Unknown, NPI=Unknown, Screening=User, Passed, Presentation=Allowed) *Oct 2 13:19:37.404: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: *Oct 2 13:19:37.404: :cc_get_feature_vsa malloc success *Oct 2 13:19:37.404: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: *Oct 2 13:19:37.404: cc_get_feature_vsa count is 1 *Oct 2 13:19:37.404: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: *Oct 2 13:19:37.404: :FEATURE_VSA attributes are: feature_name:0,feature_time:67057240,feature_id:25 *Oct 2 13:19:37.404: //253/AF396D800000/CCAPI/cc_api_call_setup_ind_common: Set Up Event Sent; Call Info(Calling Number=1111111(TON=Unknown, NPI=Unknown, Screening=User, Passed, Presentation=Allowed), Called Number=9999999(TON=Unknown, NPI=Unknown)) *Oct 2 13:19:37.404: //253/AF396D800000/CCAPI/cc_process_call_setup_ind: Event=0x161DDBC0 *Oct 2 13:19:37.404: //-1/xxxxxxxxxxxx/CCAPI/cc_setupind_match_search: Try with the demoted called number 9999999 *Oct 2 13:19:37.404: //253/AF396D800000/CCAPI/ccCallSetContext: Context=0x16541C1C *Oct 2 13:19:37.404: //253/AF396D800000/CCAPI/cc_process_call_setup_ind: >>>>CCAPI handed cid 253 with tag 200 to app "_ManagedAppProcess_Default" *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCallProceeding: Progress Indication=NULL(0) *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCallSetupRequest: Destination=, Calling IE Present=TRUE, Mode=0, Outgoing Dial-peer=300, Params=0x16543224, Progress Indication=NULL(0) *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCheckClipClir: In: Calling Number=1111111(TON=Unknown, NPI=Unknown, Screening=User, Passed, Presentation=Allowed) *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCheckClipClir: Out: Calling Number=2222222(TON=Unknown, NPI=ISDN, Screening=Network, Presentation=Allowed) *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCallSetupRequest: Destination Pattern=.T, Called Number=9999999, Digit Strip=FALSE *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccCallSetupRequest: Calling Number=2222222(TON=Unknown, NPI=ISDN, Screening=Network, Presentation=Allowed), Called Number=9999999(TON=Unknown, NPI=Unknown), Redirect Number=, Display Info= Account Number=1111111, Final Destination Flag=TRUE, Guid=AF396D80-0001-0000-0000-00690C074664, Outgoing Dial-peer=300 *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/cc_api_display_ie_subfields: ccCallSetupRequest: cisco-username=1111111 ----- ccCallInfo IE subfields ----- cisco-ani=2222222 cisco-anitype=0 cisco-aniplan=1 cisco-anipi=0 cisco-anisi=3 dest=9999999 cisco-desttype=0 cisco-destplan=0 cisco-rdie=FFFFFFFF cisco-rdn= cisco-rdntype=0 cisco-rdnplan=0 cisco-rdnpi=-1 cisco-rdnsi=-1 cisco-redirectreason=-1 fwd_final_type =0 final_redirectNumber = hunt_group_timeout =0 *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccIFCallSetupRequestPrivate: Interface=0x15A80AE0, Interface Type=3, Destination=, Mode=0x0, Call Params(Calling Number=2222222,(Calling Name=)(TON=Unknown, NPI=ISDN, Screening=Network, Presentation=Allowed), Called Number=9999999(TON=Unknown, NPI=Unknown), Calling Translated=FALSE, Subscriber Type Str=Unknown, FinalDestinationFlag=TRUE, Outgoing Dial-peer=300, Call Count On=FALSE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, tg_label_flag=0, Application Call Id=) *Oct 2 13:19:37.408: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: *Oct 2 13:19:37.408: :cc_get_feature_vsa malloc success *Oct 2 13:19:37.408: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: GW_CUBE# *Oct 2 13:19:37.408: cc_get_feature_vsa count is 2 *Oct 2 13:19:37.408: //-1/xxxxxxxxxxxx/CCAPI/cc_get_feature_vsa: *Oct 2 13:19:37.408: :FEATURE_VSA attributes are: feature_name:0,feature_time:67057016,feature_id:26 *Oct 2 13:19:37.408: //254/AF396D800000/CCAPI/ccIFCallSetupRequestPrivate: SPI Call Setup Request Is Success; Interface Type=3, FlowMode=1 *Oct 2 13:19:37.408: //254/AF396D800000/CCAPI/ccCallSetContext: Context=0x165431D4 *Oct 2 13:19:37.408: //253/AF396D800000/CCAPI/ccSaveDialpeerTag: Outgoing Dial-peer=300 *Oct 2 13:19:37.408: //254/AF396D800000/CCAPI/cc_api_call_proceeding: Interface=0x15A80AE0, Progress Indication=NULL(0) GW_CUBE# *Oct 2 13:19:46.772: //253/AF396D800000/CCAPI/cc_api_call_disconnected: Cause Value=16, Interface=0x15A80AE0, Call Id=253 *Oct 2 13:19:46.772: //253/AF396D800000/CCAPI/cc_api_call_disconnected: Call Entry(Responsed=FALSE, Cause Value=16, Retry Count=0) *Oct 2 13:19:46.776: //254/AF396D800000/CCAPI/ccCallDisconnect: Cause Value=16, Tag=0x0, Call Entry(Previous Disconnect Cause=0, Disconnect Cause=0) *Oct 2 13:19:46.776: //254/AF396D800000/CCAPI/ccCallDisconnect: Cause Value=16, Call Entry(Responsed=FALSE, Cause Value=16) *Oct 2 13:19:46.776: //253/AF396D800000/CCAPI/ccCallDisconnect: Cause Value=16, Tag=0x0, Call Entry(Previous Disconnect Cause=0, Disconnect Cause=16) *Oct 2 13:19:46.776: //253/AF396D800000/CCAPI/ccCallDisconnect: Cause Value=16, Call Entry(Responsed=TRUE, Cause Value=16) *Oct 2 13:19:46.776: //253/AF396D800000/CCAPI/cc_api_call_disconnect_done: Disposition=0, Interface=0x15A80AE0, Tag=0x0, Call Id=253, Call Entry(Disconnect Cause=16, Voice Class Cause Code=0, Retry Count=0) *Oct 2 13:19:46.776: //253/AF396D800000/CCAPI/cc_api_call_disconnect_done: Call Disconnect Event Sent *Oct 2 13:19:46.776: //-1/xxxxxxxxxxxx/CCAPI/cc_free_feature_vsa: *Oct 2 13:19:46.776: :cc_free_feature_vsa freeing 3FF3650 *Oct 2 13:19:46.776: //-1/xxxxxxxxxxxx/CCAPI/cc_free_feature_vsa: *Oct 2 13:19:46.776: vsacount in free is 1 *Oct 2 13:19:46.788: //254/AF396D800000/CCAPI/cc_api_call_disconnect_done: Disposition=-11, Interface=0x15A80AE0, Tag=0x0, Call Id=254, Call Entry(Disconnect Cause=16, Voice Class Cause Code=0, Retry Count=0) *Oct 2 13:19:46.788: //254/AF396D800000/CCAPI/cc_api_call_disconnect_done: Call Disconnect Event Sent *Oct 2 13:19:46.788: //-1/xxxxxxxxxxxx/CCAPI/cc_free_feature_vsa: *Oct 2 13:19:46.788: :cc_free_feature_vsa freeing 3FF3570 *Oct 2 13:19:46.788: //-1/xxxxxxxxxxxx/CCAPI/cc_free_feature_vsa: GW_CUBE# *Oct 2 13:19:46.788: vsacount in free is 0 GW_CUBE#no debug voice ccapi inout voip ccapi inout debugging is off |
|