|
| 1 | +diff '--exclude=*.xml' '--exclude=*.o.d' '--exclude=.project' '--exclude=.cproject' -Naur asterisk-base-11.3.0/apps/wms_inoapi.c asterisk-11.3.0/apps/wms_inoapi.c |
| 2 | +--- asterisk-base-11.3.0/apps/wms_inoapi.c 2024-01-15 17:10:59.080000000 +0000 |
| 3 | ++++ asterisk-11.3.0/apps/wms_inoapi.c 2024-01-16 09:50:17.696186800 +0000 |
| 4 | +@@ -9,7 +9,7 @@ |
| 5 | + * $History: $ |
| 6 | + * |
| 7 | + * Luis Reis |
| 8 | +- * Copyright (c) 2006 PT Inovação SA. All Rights Reserved |
| 9 | ++ * Copyright (c) 2006 PT Inova��o SA. All Rights Reserved |
| 10 | + ******************************************************************************/ |
| 11 | + |
| 12 | + /******************************************************************************* |
| 13 | +@@ -124,6 +124,9 @@ |
| 14 | + |
| 15 | + ast_log(LOG_DEBUG, "InoAPI says Charge %d\n", trs_cmd.al_int_val2); |
| 16 | + |
| 17 | ++ chan_vars->trs_reply.con_id = trs_cmd.con_id; |
| 18 | ++ chan_vars->trs_reply.sender = trs_cmd.edp_id; |
| 19 | ++ |
| 20 | + if (trs_cmd.al_int_val1 == ACCEPT) |
| 21 | + { |
| 22 | + if (option_verbose >= 3) |
| 23 | +@@ -131,7 +134,12 @@ |
| 24 | + ast_indicate(chan, AST_CONTROL_PROGRESS); |
| 25 | + chan_vars->early_media = ast_tvnow(); |
| 26 | + |
| 27 | +- ast_set_flag(ast_channel_icall_flags(chan), ICALL_WAIT_PRACK); |
| 28 | ++ // Fix WMS-2317 - In calls with early media, |
| 29 | ++ // the response to WMS service must not wait for PRACK |
| 30 | ++ //ast_set_flag(ast_channel_icall_flags(chan), ICALL_WAIT_PRACK); |
| 31 | ++ |
| 32 | ++ asteriskSendReply(&trs_reply, chan_vars); |
| 33 | ++ return; |
| 34 | + } |
| 35 | + else |
| 36 | + { |
| 37 | +@@ -147,8 +155,6 @@ |
| 38 | + |
| 39 | + ast_set_flag(ast_channel_icall_flags(chan), ICALL_WAIT_ACK); |
| 40 | + } |
| 41 | +- chan_vars->trs_reply.con_id = trs_cmd.con_id; |
| 42 | +- chan_vars->trs_reply.sender = trs_cmd.edp_id; |
| 43 | + |
| 44 | + if (ast_pthread_create_background(&chan_vars->icall_thread, NULL, accept_icall_thread, chan_vars) < 0) |
| 45 | + { |
| 46 | +@@ -212,19 +218,23 @@ |
| 47 | + asteriskSendReply(&trs_reply, chan_vars); |
| 48 | + |
| 49 | + break; |
| 50 | +- }else if(ast_test_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_WAIT_PRACK) && |
| 51 | +- ast_test_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_RCV_PRACK)){ |
| 52 | ++ } |
| 53 | ++ // Fix WMS-2317 - In calls with early media, |
| 54 | ++ // the response to WMS service must not wait for PRACK |
| 55 | + |
| 56 | +- ast_log(LOG_DEBUG, "accept_icall_thread - We receive PRACK - ast state [%d]\n", ast_channel_state(chan_vars->chan)); |
| 57 | +- ast_clear_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_WAIT_PRACK); |
| 58 | +- ast_clear_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_RCV_PRACK); |
| 59 | ++ // else if(ast_test_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_WAIT_PRACK) && |
| 60 | ++ // ast_test_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_RCV_PRACK)){ |
| 61 | + |
| 62 | +- ast_channel_unlock(chan_vars->chan); |
| 63 | ++ // ast_log(LOG_DEBUG, "accept_icall_thread - We receive PRACK - ast state [%d]\n", ast_channel_state(chan_vars->chan)); |
| 64 | ++ // ast_clear_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_WAIT_PRACK); |
| 65 | ++ // ast_clear_flag(ast_channel_icall_flags(chan_vars->chan), ICALL_RCV_PRACK); |
| 66 | + |
| 67 | +- asteriskSendReply(&trs_reply, chan_vars); |
| 68 | ++ // ast_channel_unlock(chan_vars->chan); |
| 69 | ++ |
| 70 | ++ // asteriskSendReply(&trs_reply, chan_vars); |
| 71 | + |
| 72 | +- break; |
| 73 | +- } |
| 74 | ++ // break; |
| 75 | ++ // } |
| 76 | + |
| 77 | + ast_channel_unlock(chan_vars->chan); |
| 78 | + |
| 79 | +diff '--exclude=*.xml' '--exclude=*.o.d' '--exclude=.project' '--exclude=.cproject' -Naur asterisk-base-11.3.0/channels/chan_sip.c asterisk-11.3.0/channels/chan_sip.c |
| 80 | +--- asterisk-base-11.3.0/channels/chan_sip.c 2024-01-15 17:10:58.950000000 +0000 |
| 81 | ++++ asterisk-11.3.0/channels/chan_sip.c 2024-01-16 09:50:04.486186800 +0000 |
| 82 | +@@ -30506,12 +30506,15 @@ |
| 83 | + case SIP_PRACK: |
| 84 | + res = handle_request_prack(p, req); |
| 85 | + |
| 86 | +- if(p->owner){ |
| 87 | +- if(p->invitestate == INV_EARLY_MEDIA){ |
| 88 | +- ast_log(LOG_DEBUG, "handle_incoming - Set ICALL_RCV_PRACK flag\n"); |
| 89 | +- ast_set_flag(ast_channel_icall_flags(p->owner), ICALL_RCV_PRACK); |
| 90 | +- } |
| 91 | +- } |
| 92 | ++ // Fix WMS-2317 - In calls with early media, |
| 93 | ++ // the response to WMS service must not wait for PRACK, |
| 94 | ++ // so we comment code below |
| 95 | ++ // if(p->owner){ |
| 96 | ++ // if(p->invitestate == INV_EARLY_MEDIA){ |
| 97 | ++ // ast_log(LOG_DEBUG, "handle_incoming - Set ICALL_RCV_PRACK flag\n"); |
| 98 | ++ // ast_set_flag(ast_channel_icall_flags(p->owner), ICALL_RCV_PRACK); |
| 99 | ++ // } |
| 100 | ++ // } |
| 101 | + break; |
| 102 | + case SIP_ACK: |
| 103 | + /* Make sure we don't ignore this */ |
| 104 | +diff '--exclude=*.xml' '--exclude=*.o.d' '--exclude=.project' '--exclude=.cproject' -Naur asterisk-base-11.3.0/include/asterisk/channel.h asterisk-11.3.0/include/asterisk/channel.h |
| 105 | +--- asterisk-base-11.3.0/include/asterisk/channel.h 2024-01-15 17:10:58.940000000 +0000 |
| 106 | ++++ asterisk-11.3.0/include/asterisk/channel.h 2024-01-16 09:49:38.176186800 +0000 |
| 107 | +@@ -217,9 +217,9 @@ |
| 108 | + |
| 109 | + /* Specific flags to support async reply for events ACCEPT_ICALL_COMPLETED and CONNECT_CALL_COMPLETED */ |
| 110 | + #define ICALL_WAIT_ACK (1 << 1) |
| 111 | +-#define ICALL_WAIT_PRACK (1 << 2) |
| 112 | ++//#define ICALL_WAIT_PRACK (1 << 2) Fix WMS-2317 |
| 113 | + #define ICALL_RCV_ACK (1 << 3) |
| 114 | +-#define ICALL_RCV_PRACK (1 << 4) |
| 115 | ++//#define ICALL_RCV_PRACK (1 << 4) Fix WMS-2317 |
| 116 | + |
| 117 | + |
| 118 | + enum ast_bridge_result { |
| 119 | +@@ -479,7 +479,7 @@ |
| 120 | + * PSTN gateway). |
| 121 | + * |
| 122 | + * \todo Implement settings for transliteration between UTF8 Caller ID names in |
| 123 | +- * to ASCII Caller ID's (DAHDI). Östen Åsklund might be transliterated into |
| 124 | ++ * to ASCII Caller ID's (DAHDI). �sten �sklund might be transliterated into |
| 125 | + * Osten Asklund or Oesten Aasklund depending upon language and person... |
| 126 | + * We need automatic routines for incoming calls and static settings for |
| 127 | + * our own accounts. |
0 commit comments