caperkill Posted October 5, 2018 Posted October 5, 2018 Уже как месяц читаю форумы, официальную документацию, мануалы, курсы (Спасибо добрым людям, отсыпали), и пока пришел только к этому . Ладно, хватит лирики. Развернут CUBE на CISCO 2951, ios 15.7(3)M. На нем зарегистрировано 3 SIP транка к разным провайдерам. Регистрацию произвожу с помощью tenant. Код: Уже как месяц читаю форумы, официальную документацию, мануалы, курсы (Спасибо добрым людям, отсыпали), и пока пришел только к этому . Ладно, хватит лирики. Развернут 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 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.